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
rulesobjectPer-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.embeddingOllamaUrlstringBase URL of the Ollama server. Defaults to http://localhost:11434.
forbiddenImportsobjectPer-layer forbidden import rules for GCI0035. Key: source namespace fragment. Value: list of forbidden target namespace fragments.
"forbiddenImports": {
"Api": ["Infrastructure", "Data"],
"Domain": ["Infrastructure"]
}experimental.engineeringPolicyobjectEnable 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.
This writes .gauntletci-baseline.json to your repo root. Commit it to share the baseline with your team.
