3 min read

Headless CLI

Table of Contents

norn review runs the review pipeline without a graphical or terminal UI. It prints Markdown by default and supports JSON output for automation.

Review scopes

Working tree

Review staged, unstaged, and eligible untracked text files:

norn review --repo-path . --scope working-tree

Potentially sensitive untracked files—such as environment, credential, and private-key material—are skipped with a warning.

Branch

Review committed changes from the merge base through HEAD:

norn review --repo-path . --scope branch

Override the destination when necessary:

norn review --repo-path . --scope branch --base origin/main

Uncommitted changes are not included in branch scope. Run a separate working-tree review when both kinds of changes exist.

Pull request

Review a provider-hosted pull request:

norn review \
  --scope pr \
  --provider github \
  --workspace delaudio \
  --repo norn \
  --pr 198

--workspace and --repo must be supplied together and must match the selected local checkout when one is used.

Provider and model

Select Claude or Codex explicitly:

norn review --repo-path . --scope branch --ai-provider codex

Use --model and --effort to override configured defaults for one run.

Output and exit behavior

Write structured JSON to stdout:

norn review --repo-path . --scope branch --format json

Write the result to a file:

norn review --repo-path . --scope branch --output norn-review.md

By default, findings do not fail the process. Turn the command into a gate with:

norn review \
  --repo-path . \
  --scope branch \
  --fail-on-findings \
  --min-severity high

Profiles and analyzers

Select a repository profile with --profile <name>. Local analyzers are skipped by default; opt in for a standalone review with --run-analyzers. Required organization-policy analyzers can still run automatically.

norn review \
  --repo-path . \
  --scope working-tree \
  --profile frontend-strict \
  --run-analyzers

Headless review never publishes comments to the remote pull request.