Configuration

Configuration Reference

GauntletCI is zero-config by default. Place a .gauntletci.json file at your repository root to customize behavior.

Minimal example

{
  "rules": {
    "GCI0001": { "enabled": false }
  },
  "exitOn": "Block"
}

Full example

{
  "rules": {
    "GCI0001": { "enabled": false },
    "GCI0014": { "enabled": true, "severity": "Warn" }
  },
  "exitOn": "Block",
  "llm": {
    "model": "phi4-mini:latest",
    "embeddingOllamaUrl": "http://localhost:11434"
  },
  "experimental": {
    "engineeringPolicy": {
      "enabled": true,
      "path": "docs/engineering-rules.md"
    }
  }
}

Options

rulesobject

Per-rule configuration. Keys are rule IDs (e.g. GCI0001). Each value supports enabled (boolean) and optionally severity (Block or Warn).

exitOnstring - default: "Block"

Controls which finding severity causes a non-zero exit code.Block exits 1 only on blocking findings;Warn exits 1 on warnings too.

llm.modelstring - default: "phi4-mini:latest"

The Ollama model used for both LLM enrichment (--with-llm) and expert-context embeddings. Defaults to phi4-mini:latest.

llm.embeddingOllamaUrlstring

Base URL of the Ollama server. Defaults to http://localhost:11434.

forbiddenImportsobject

Per-layer forbidden import rules for GCI0035. Key: source namespace fragment. Value: list of forbidden target namespace fragments.

"forbiddenImports": {
  "Api": ["Infrastructure", "Data"],
  "Domain": ["Infrastructure"]
}
experimental.engineeringPolicyobject

Enable engineering policy enforcement. Point path at a markdown file containing your team's rules. GauntletCI will evaluate diffs against them using the local LLM.

Suppressing findings with a baseline

To suppress pre-existing findings in a legacy codebase, capture a baseline. Future runs will only report net-new risks introduced after the snapshot.

$ gauntletci baseline capture --staged

This writes .gauntletci-baseline.json to your repo root. Commit it to share the baseline with your team.

Next steps