Fab Kit's documentation is split into two categories:
- docs/specs/ — Pre-implementation design specs. Human-curated, captures the "why" behind features. Organize however makes sense.
- docs/memory/ — Post-implementation memory files. AI-maintained via hydration, authoritative source of truth for system behavior.
- docs/specs/overview.md — workflow design and principles (prerequisite for everything)
- docs/specs/glossary.md — terminology you'll see everywhere
- fab/project/constitution.md — immutable project principles (MUST/SHOULD rules)
- docs/specs/architecture.md — directory structure, config, naming, agent integration
- docs/specs/skills.md — detailed behavior for each
/fab-*skill - docs/memory/distribution/kit-architecture.md — kit distribution: the system cache (
~/.fab-kit/versions/<version>/kit/),fab sync, deployment - docs/specs/templates.md — artifact template system
- docs/memory/pipeline/schemas.md — pipeline stage schemas and
.status.yamldevelopment guide
- docs/specs/glossary.md — read this first to understand the vocabulary
- docs/specs/overview.md — high-level design, principles, stage definitions
- docs/specs/architecture.md — structural decisions and conventions
- docs/specs/skills.md — skill-by-skill behavioral specification
- docs/specs/templates.md — template design and field semantics
- docs/specs/user-flow.md — visual command flow diagrams
| Document | Description |
|---|---|
| docs/specs/overview.md | The Fab workflow specification — design principles, 6 stages, quick command reference |
| docs/specs/user-flow.md | Visual diagrams showing how commands connect and how a typical development session flows |
| docs/specs/glossary.md | All Fab terminology — core concepts, stages, skills, files, SRAD, conventions |
| docs/memory/distribution/setup.md | /fab-setup — structural bootstrap: creates config.yaml, constitution.md, directories |
| docs/memory/_shared/configuration.md | config.yaml schema and constitution.md governance |
| Document | Description |
|---|---|
| fab/project/constitution.md | Project principles and constraints — the MUST/SHOULD rules that govern all skills |
| docs/memory/pipeline/change-lifecycle.md | Change folders, .status.yaml, naming conventions, git integration, /fab-status, /fab-switch |
| docs/memory/_shared/context-loading.md | How skills load project context — always-load layer, selective domain loading, SRAD protocol |
| docs/memory/memory-docs/hydrate.md | /docs-hydrate-memory — dual-mode: ingest external sources or generate docs from codebase scanning |
| docs/memory/memory-docs/specs-index.md | docs/specs/ directory — pre-implementation specs, distinction from docs |
| Document | Description |
|---|---|
| docs/specs/skills.md | Detailed behavioral specification for each /fab-* skill |
| docs/memory/pipeline/planning-skills.md | /fab-new, /fab-discuss, /fab-continue, /fab-ff, /fab-clarify — the planning pipeline |
| docs/memory/pipeline/clarify.md | /fab-clarify — dual modes (suggest/auto), taxonomy scan, structured questions |
| docs/memory/pipeline/execution-skills.md | Apply, review, archive behavior — accessed via '/fab-continue' |
| docs/memory/memory-docs/hydrate-specs.md | /docs-hydrate-specs — structural gap detection between memory and specs |
| docs/specs/templates.md | Artifact templates — intake, plan (requirements + tasks + acceptance), status |
| docs/memory/memory-docs/templates.md | Template implementation details and centralized doc format |
| Document | Description |
|---|---|
| docs/specs/architecture.md | Directory structure, config schema, naming conventions, agent integration |
| docs/memory/distribution/kit-architecture.md | Kit distribution — system cache (~/.fab-kit/versions/<version>/kit/), fab sync deployment, agent integration |
| docs/memory/pipeline/preflight.md | fab preflight — validation, structured YAML output, skill integration |
| docs/memory/memory-docs/hydrate-generate.md | /docs-hydrate-memory generate mode — codebase scanning, gap detection, doc generation |
| Index | What it covers |
|---|---|
| docs/specs/index.md | Pre-implementation specifications (design intent) |
| docs/memory/index.md | Post-implementation centralized docs (what actually shipped) |
| docs/memory/index.md | Domain index — links to each domain (pipeline, memory-docs, distribution, runtime, _shared); per-domain indexes list files with last-updated dates |
Stage state lives in each change's .status.yaml and is owned by the fab Go binary (source in src/go/fab/). The pipeline is six stages: intake → apply → review → hydrate → ship → review-pr.
# Resolve + summarize the active change (YAML: id, name, change_dir, stage, display_stage, display_state, progress, plan, confidence)
fab preflight
# Stage queries
fab status all-stages # List stage IDs in order
fab status progress-map <change> # stage:state pairs
fab status current-stage <change> # Detect active stage
fab status validate-status-file <change> # Validate .status.yaml against the schema
# Stage transitions (state machine)
fab status start|advance|finish|reset|skip|fail <change> <stage>Development & Testing:
# Run the Go test suite
cd src/go/fab && go test ./...For complete documentation, see:
- docs/memory/pipeline/schemas.md — stage/state schemas and
.status.yamlreference - src/kit/skills/_cli-fab.md — the full
fabCLI reference (updated with every CLI change, per the constitution)
To publish a new release:
release.sh [patch|minor|major]patch(default): 0.1.0 → 0.1.1minor: 0.1.0 → 0.2.0major: 0.1.0 → 1.0.0
The script will:
- Bump the version in
src/kit/VERSION - Commit the VERSION bump, tag, and push
- Create a GitHub Release with
kit.tar.gzas an asset
Requires: clean working tree, gh CLI, and a configured origin remote.