Key concepts
One CLAUDE.md in one repo needs no vocabulary. Hundreds of repos do: something has to say what is canonical, who may change it, and how a change reaches every repo. These are the terms SteerSpec uses for that.
- Rule
- A single-phrase behavioral constraint or property definition attached to an entity. Rules have an id, a revision, a lifecycle state and a body written with RFC-2119 keywords. RUL in the spec →
- Entity
- An object with a unique identity and lifecycle. The unit of organization; every rule belongs to one entity. ENT in the spec →
- Rule Set
- All rules of one entity, versioned as a unit. Each entity file carries its own
rule_setversion, timestamp and hash. RST in the spec → - Note
- A supplemental annotation attached to a specific rule. NTE in the spec →
- Realm
- A published, versioned collection of entity files plus a manifest. The core realm is
dev.steerspec.core. An organization can define its own realm on top of it. RLM in the spec → - Manifest
rules/latest/index.json. Lists the realm version and every entity file with a blake3 hash, so consumers can pin and verify. Every release is also served immutably at/rules/v<version>/index.json.- Schema
- JSON Schema files that validate entities, realms and the consumer config. Every entity file declares the schema it conforms to.
- Lifecycle state
- D (Draft, the only editable state), P (Published), I (Implemented, in force), R (Retired), T (Terminated), A (Abandoned). Transitions are forward-only. RULST in the spec →
- Keywords
- Rule bodies use RFC-2119 keywords, extended with
HAS,ISandDEFINE(defined byKWRD-002, itself a rule in the set). KWRD in the spec → - SPCFG
- The consumer-side configuration, a
.strspc/config.yamlat the root of a project. It declares which rule sources the project subscribes to and how they are enforced (evaluator settings, fail conditions). SPCFG in the spec → - Sync
- The
strspc-syncGitHub Action. Pushes central CLAUDE.md, agents, skills and settings into repos as reviewable pull requests. Nothing is force-pushed or auto-merged. - Drift
- A repository's AI configuration diverging from the central definition. The monitor reports it on a schedule; sync reverses it by pull request.
- Two kinds of rules
- Rules in the config you sync (what your agents are told) are different from rules about rules (how SteerSpec's own format is specified, published at
/spec/). The second kind is the spec; the first is what you apply it to.