Spec-Driven Development for AI coding assistants. Author your specs, user stories, UI design, plans and tasks once β AmbyKit emits native commands and rules for every assistant your team uses, so the AI builds from clear, testable requirements instead of guessing.
Install from npm and scaffold AmbyKit into your project:
npm install -g @ambystech/ambykit
ambykit init # scaffold .amby/ and pick your assistants
npx @ambystech/ambykit init
Already have a project? init
is non-destructive β an existing CLAUDE.md
/AGENTS.md
is
preserved (and backed up); AmbyKit only adds/updates its own ### AmbyKit usage
section. Re-run
ambykit sync
any time to keep it current, or ambykit restore
to roll a file back.
Then, inside your AI assistant, walk the workflow:
/amby.constitution # one-time: set your project's guiding principles
/amby.specify # describe a feature β spec.md (user stories + EARS requirements)
/amby.clarify # resolve open questions
/amby.revise # continue an existing spec β add and refine in place
/amby.design # UI spec + design-tokens.json
/amby.plan # technical plan
/amby.tasks # ordered, dependency-aware task list
/amby.implement # build it
Track progress from the terminal:
ambykit dashboard
ambykit dashboard 001:US-3 # story ids restart per feature β qualify with the feature ref
π Full documentation: ambystech.io/AmbyKit
AI coding assistants build better software when they start from good requirements. But every assistant reads a different config format, and specs written for one don't carry to another. AmbyKit fixes both: it gives you a rigorous, tech-agnostic SDD workflow and a single source of truth that compiles to each tool's native format.
WHAT before HOW.spec.md
captures user stories + testable requirements with no tech decisions;plan.md
captures the technical approach separately.UI is a first-class artifact./amby.design
produces a UI spec + design tokens β the part most spec tools skip.Author once, emit per tool. One neutral source β Claude Code, OpenCode, GitHub Copilot (VS Code + CLI), Cursor (+ CLI), Antigravity (IDE + CLI).
| Phase | Command | Output |
|---|---|---|
| Governance (once) | /amby.constitution |
|
.amby/constitution.md |
||
| Specify (WHAT/WHY) | /amby.specify |
|
specs/NNN-feature/spec.md |
||
| Clarify | /amby.clarify |
|
resolves [NEEDS CLARIFICATION] markers |
||
| Revise | /amby.revise |
|
continues spec.md / ui.md in place |
||
| Design (UI) | ||
/amby.design |
||
ui.md + design-tokens.json |
||
| Plan (HOW) | /amby.plan |
|
plan.md (+ data-model.md , contracts/ ) |
||
| Tasks | /amby.tasks |
|
tasks.md |
||
| Analyze | /amby.analyze |
|
| cross-artifact consistency report | ||
| Implement | /amby.implement |
|
executes tasks.md |
Requirements use user stories (US-#
) + EARS functional requirements (FR-###
) +
Given/When/Then acceptance criteria. Stories carry priority
and depends-on
/blocked-by
so
work can be ordered and blocked; ambykit dashboard
reports progress across the story/task graph.
Claude Code (CLI + VS Code), GitHub Copilot (VS Code + CLI), OpenCode, Cursor (+ CLI), Antigravity (IDE + CLI). See docs/tool-compatibility.md.
| Command | Description |
|---|---|
ambykit init [dir] |
|
Scaffold .amby/ , pick tools, emit their files + AGENTS.md /CLAUDE.md |
|
ambykit add <toolβ¦> |
|
| Add/refresh one tool's integration | |
ambykit sync |
|
| Re-emit all configured tools from the neutral source | |
ambykit dashboard [story-id] |
|
| Progress view over the story/task graph | |
ambykit analyze |
|
| Validate the dependency graph (cycles, blockers, orphans) | |
ambykit check |
|
| Doctor: verify integrations | |
ambykit restore [file] |
|
Restore an agent-doc file from its .amby/backups/ backup |
|
ambykit update |
|
| Update the CLI to the latest, then refresh this project's prompts |
AmbyKit is built with AmbyKit β see AGENTS.md and
docs/contributing.md