Sigilix readsDocumentation Index
Fetch the complete documentation index at: https://docs.sigilix.ai/llms.txt
Use this file to discover all available pages before exploring further.
sigilix.json from the PR head SHA on every review. The file is optional — missing means defaults apply, malformed JSON means defaults apply plus a single warning posted on the PR. The file does not need to be committed to your default branch to take effect; whatever exists at the head SHA wins.
Older versions of these docs documented a
sigilix.yaml schema with thresholds, specialists.<name>, and review.comment_style keys. None of that is real — the actual file is JSON, and the schema below is the only one Sigilix has ever read in production.Where it lives
- Edits in the PR itself apply to the same review (useful when iterating on the config).
- Edits on
maindon’t take effect on open PRs until they’re synced. - A missing file is the most common case and is fine — Sigilix runs with defaults.
Schema overview
The schema has grown in three additive versions. Older configs keep working; new fields are opt-in.| Version | Added | Tracking |
|---|---|---|
| v1 | guidance, rules.<role> | ARC-174 |
| v2 | pathFilters, profile | ARC-176 |
| v3 | deterministicChecks | ARC-193 |
| v3+ | Per-subsystem opt-outs (commands, depVulns, astRules, sarif, reviewMemory, describe) | ARC-181, ARC-185, ARC-186, ARC-188, ARC-189, ARC-191 |
<role> token in rules is always one of logic, security, performance, tests. These are the internal specialist role names; their public-facing brand counterparts are Glyph, Warden, Pulse, and Weave respectively.
Minimal example
guidance string is the smallest useful config. It’s prepended to every specialist and synthesizer prompt for this repo.
Realistic example
Full schema
Field reference
guidance (v1, string)
Repo-wide context prepended to every specialist’s prompt and the synthesizer’s prompt. Keep it specific and load-bearing — vague guidance dilutes findings, sharp guidance focuses them.
Good guidance describes:
- The stack (“TypeScript Cloudflare Worker”, “Rust embedded firmware”, “Next.js app router”)
- Hard rules (“Domain code in
src/domain/may not import fromsrc/infra/”) - Conventions a reviewer would otherwise miss (“Test files mirror source —
foo.ts↔foo.test.ts”)
rules.<role> (v1, string)
Per-specialist prompt addendum. Each <role> is one of logic, security, performance, tests. Use this when a rule only matters to one specialist:
pathFilters (v2, string[])
Globs that drop files from review before specialist fan-out. Saves token spend on generated content and triggers the “no specialists” short-circuit when only filtered paths changed.
Semantics:
- Plain pattern excludes (
"dist/**"). !patternre-includes — later patterns win, so order matters.- Globstar (
**) crosses directories. Single*matches one segment.
profile (v2, “chill” | “assertive”)
Review tone. Default is chill.
| Profile | Behavior |
|---|---|
chill | Only flag must-fix issues. Skip nits, style, taste. |
assertive | Include nits and style. Useful for high-bar codebases. |
deterministicChecks (v3, array)
JavaScript-flavored regex rules run against added diff lines before the LLM specialists fire. Matches surface as structured findings injected into the specialist prompts as authoritative facts.
Each rule:
| Field | Type | Required | Notes |
|---|---|---|---|
id | string | yes | Kebab-case unique identifier |
pattern | string | yes | JavaScript regex source (no surrounding slashes) |
severity | "info" | "warning" | "critical" | yes | Maps to score 2 / 4 / 5 |
message | string | yes | What the finding says |
flags | string | no | Regex flags. i for case-insensitive. g is implied — don’t pass it. |
commands (ARC-185, object)
Per-command prompt addenda and model overrides. Each key is a Sigilix slash command (review, improve, describe); values can carry prompt (appended to the command’s system prompt) and model (override the default model).
glm-5.1:cloud, kimi-k2.6:cloud, qwen3-coder:480b-cloud, deepseek-v4-pro:cloud. Unrecognized models fall back to the command’s default with a warning.
Subsystem opt-outs
Each subsystem ships enabled by default and can be turned off per-repo:| Key | Subsystem | Disable with |
|---|---|---|
depVulns | Dependency vulnerability scan (ARC-186) | { "enabled": false } |
astRules | AST rule-pack scanner (How It Works) | { "enabled": false } |
sarif | SARIF evidence channel (ARC-188) | { "enabled": false } |
reviewMemory | Cross-PR review memory (How It Works) | { "enabled": false } |
describe | /sigilix describe command | { "enabled": false } |
sensitivity (ARC-183, object)
Repository sensitivity controls. The denylist gate is operator-side (set by Sigilix administrators) and not user-configurable; this field’s role is to declare a level so future per-tier features know what to apply. Today: { "level": "standard" } is the only published value.
Validation
Sigilix validatessigilix.json on every review. Fail-open semantics:
- Missing file → defaults, no warning.
- Malformed JSON → defaults + warning posted as a single sticky comment (see config-error comment).
- Unknown top-level key → ignored, no warning (preserves forward compatibility — older Sigilix versions won’t break on newer schemas).
- Type mismatch on a known key → that key dropped, warning logged in telemetry, review proceeds with defaults for that key.
Read next
Rules & Guidance
Best practices for writing
guidance and per-role rules.Path Filters & Profile
Scope reviews with globs and tune flag-worthiness with
profile.Deterministic Checks
Write regex rules that run before the LLMs.
Slash Commands
/sigilix review, improve, describe — prompt/model overrides per command.
