Skip to content

Specs Reference

Chisel Specs is a lifecycle-driven spec tracker stored as local Markdown files.

Specs are organized by lifecycle state:

.chisel/specs/
├── active/ # Draft, Ready, and InProgress specs
├── shipped/ # Completed specs
└── archived/ # Historical specs

File naming convention: <id>_<slug>.md (e.g., 0001_user-auth-flow.md).

---
title: User Auth Flow
status: draft
created: 2026-03-15T10:00:00Z
updated: 2026-03-20T14:30:00Z
area: backend
related_docs:
- docs/architecture/auth.md
open_questions:
- Should we support OAuth2 refresh tokens?
---
FieldTypeRequiredDescription
titlestringyesHuman-readable spec title.
statusstringyesOne of draft, ready, in-progress, shipped, archived.
createddatetimeyesISO 8601 creation timestamp.
updateddatetimenoISO 8601 last-modified timestamp.
areastringnoProject area or domain (e.g., backend, cli, docs).
related_docslistnoPaths to related documentation files.
open_questionslistnoUnresolved questions to be addressed before moving to ready.
  • 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.

Create a new spec. Accepts --template to select a template (feature, adr).

List specs. Accepts --status to filter by lifecycle state.

Display the full content of a spec.

Change a spec’s status. Automatically moves the file between active/, shipped/, and archived/ directories.

Full-text search across all specs using the FTS5 index.

Open a spec in your $EDITOR.

Permanently remove a spec file.

Rebuild the spec search index.

All commands support the --machine flag for structured YAML output.