Skip to content
← All docsConfig

norma.config.json

Spec globs, includes and excludes, threshold, model, and provider.

Run norma init to write a norma.config.json at the project root. Every field is optional; the CLI falls back to sensible defaults and auto detection.

{
  "spec": ["specs/**/*.md", "AGENTS.md"],
  "include": ["src/**"],
  "exclude": ["**/node_modules/**", "**/dist/**"],
  "threshold": 80,
  "model": "claude-sonnet-4-6",
  "provider": "anthropic"
}

Fields

FieldWhat it does
specGlobs for your spec files. Auto-detected from common locations when omitted.
includeGlobs for the implementation files to index.
excludeGlobs to skip. Merged on top of the built-in excludes.
thresholdScore below which --threshold and the Action fail.
modelJudge model id for extraction, judging, and remediation.
provideranthropic or openai. Set the matching API key in the environment.
Secrets are always excluded. The default exclude list covers .env files, private keys, and similar secret patterns. They are never indexed or sent to the model, regardless of your include globs.

Any flag passed on the command line overrides the config file for that run.

Did the build keep its promises?

AI can write the code.
Who verifies the intent?