Spec Kit extension
Spec Kit takes you from specify to
plan to tasks to implement. What it does not do is check the plan it just
produced against the decisions your organization already made, or record the new
decisions that plan contains. Every feature starts from an empty context and
re-litigates settled questions.
@adrkit/spec-kit closes that loop, without leaving git.
What it adds
Section titled “What it adds”| Command | What it does | Writes |
|---|---|---|
/speckit.adrkit.context |
Pulls the decisions governing the paths you’re about to touch — including superseded and rejected ones — into context before you plan | no |
/speckit.adrkit.check |
Checks a produced plan against the decisions that govern it, routing through the deterministic Pass 0 evaluator when a snapshot bundle is configured | no |
/speckit.adrkit.draft |
Scaffolds a draft ADR from the current plan artifact for you to fill in | one new record |
The optional after_plan hook offers to run /speckit.adrkit.check after
/speckit.plan.
Requirements
Section titled “Requirements”- Spec Kit
>=0.13.0,<0.16.0. Compatibility is tested against 0.13.0, 0.14.4, and 0.15.1. - The
adrCLI. Install@adrkit/cliglobally or in the project, or setADRKIT_CLIto its entry point. - An ADR corpus. Defaults to
docs/adr.
Install
Section titled “Install”Spec Kit discovers extensions under .specify/extensions/, and only
specify extension add writes there — so installation goes through Spec Kit,
not through your package manager.
adrkit is listed in the Spec Kit community catalog, so this is the idiomatic installation channel:
specify extension add adrkitFor local extension development:
specify extension add --dev path/to/packages/adapters/spec-kitThen /speckit.adrkit.context is available in your agent, and /speckit.plan
offers the after_plan hook.
The package is also published on npm as
@adrkit/spec-kit for
programmatic or pinned installs.
Use it in the plan loop
Section titled “Use it in the plan loop”- Run
/speckit.adrkit.contextbefore planning to load the decisions governing the affected paths. - Run
/speckit.plan. The optionalafter_planhook offers to check the plan; you can also run/speckit.adrkit.checkdirectly. - Run
/speckit.adrkit.draftwhen the plan introduces a decision worth recording.
Configuration
Section titled “Configuration”The extension works without additional configuration. Override its defaults with environment variables when needed.
| Variable | Default | Meaning |
|---|---|---|
ADRKIT_DIR |
docs/adr |
ADR corpus directory |
ADRKIT_CLI |
resolved | Explicit path to the adr entry point |
ADRKIT_FEATURE_DIR |
resolved | Override Spec Kit’s own feature resolution |
ADRKIT_SNAPSHOT |
unset | Snapshot bundle enabling the deterministic evaluator |
ADRKIT_AS_OF |
today, UTC | Evaluation date |
The CLI is resolved in a fixed order: ADRKIT_CLI, then
./node_modules/.bin/adr, then adr on PATH. No branch of that reaches the
network — a missing CLI is reported, never fetched.
What is guaranteed
Section titled “What is guaranteed”- The hook is never mandatory. A mandatory hook fires without consent; this one renders as an optional prompt.
- Failures name what is missing. “0 decisions govern this” and “I could not see the corpus” never render as the same string, so no command exits 0 having found nothing because it was looking in the wrong place.
checkmutates nothing.- Nothing development-only reaches your repo.
specify extension add --devcopies the directory verbatim, so.extensionignorekeeps the test suite and build config out of your.specify/extensions/. The package declares no dependencies at all, so there is never anode_modules/to copy.
Compatibility and support
Section titled “Compatibility and support”@adrkit/spec-kit is available from the Spec Kit community catalog and
tested against Spec Kit 0.13.0, 0.14.4, and 0.15.1. If you find a compatibility
issue, open an issue.
For implementation details, see the
@adrkit/spec-kit README.