Specs Reference
Chisel Specs is a lifecycle-driven spec tracker stored as local Markdown files.
Directory Structure
Section titled “Directory Structure”Specs are organized by lifecycle state:
.chisel/specs/├── active/ # Draft, Ready, and InProgress specs├── shipped/ # Completed specs└── archived/ # Historical specsFile naming convention: <id>_<slug>.md (e.g., 0001_user-auth-flow.md).
Frontmatter Schema
Section titled “Frontmatter Schema”---title: User Auth Flowstatus: draftcreated: 2026-03-15T10:00:00Zupdated: 2026-03-20T14:30:00Zarea: backendrelated_docs: - docs/architecture/auth.mdopen_questions: - Should we support OAuth2 refresh tokens?---Fields
Section titled “Fields”| Field | Type | Required | Description |
|---|---|---|---|
title | string | yes | Human-readable spec title. |
status | string | yes | One of draft, ready, in-progress, shipped, archived. |
created | datetime | yes | ISO 8601 creation timestamp. |
updated | datetime | no | ISO 8601 last-modified timestamp. |
area | string | no | Project area or domain (e.g., backend, cli, docs). |
related_docs | list | no | Paths to related documentation files. |
open_questions | list | no | Unresolved questions to be addressed before moving to ready. |
Status Values
Section titled “Status Values”- draft: Spec is being written or refined. Not yet actionable.
- ready: Spec is reviewed and approved. Implementation can start.
- in-progress: Active work is underway against this spec.
- shipped: Implementation is complete, merged, or deployed.
- archived: Spec is no longer relevant. Retained for reference.
CLI Commands
Section titled “CLI Commands”chisel spec new
Section titled “chisel spec new”Create a new spec. Accepts --template to select a template (feature, adr).
chisel spec list
Section titled “chisel spec list”List specs. Accepts --status to filter by lifecycle state.
chisel spec view <id>
Section titled “chisel spec view <id>”Display the full content of a spec.
chisel spec status <id> <status>
Section titled “chisel spec status <id> <status>”Change a spec’s status. Automatically moves the file between active/, shipped/, and archived/ directories.
chisel spec search <query>
Section titled “chisel spec search <query>”Full-text search across all specs using the FTS5 index.
chisel spec edit <id>
Section titled “chisel spec edit <id>”Open a spec in your $EDITOR.
chisel spec delete <id>
Section titled “chisel spec delete <id>”Permanently remove a spec file.
chisel spec index
Section titled “chisel spec index”Rebuild the spec search index.
All commands support the --machine flag for structured YAML output.