| name | sdd |
| description | Story Driven Development workflow. Use when working in a project with .sdd/config.yaml, or when the user mentions SDD, sdd sync, story driven development, or spec-driven development.
|
| license | MIT |
| compatibility | Requires sdd CLI (npm i -g @applica-software-guru/sdd) |
| allowed-tools | Bash(sdd:*) Read Glob Grep |
| metadata | {"author":"applica-software-guru","version":"1.0"} |
SDD โ Story Driven Development
Detection
This project uses SDD if .sdd/config.yaml exists in the project root.
Workflow
Follow this loop every time you work on an SDD project:
- Run
sdd bug open โ check if there are open bugs to fix first
- If there are open bugs, fix the code/docs, then run
sdd mark-bug-resolved
- Run
sdd cr pending โ check if there are change requests to process
- If there are pending CRs, apply them to the docs, then run
sdd mark-cr-applied
- Run
sdd sync to see what needs to be implemented
- Read the documentation files listed in the sync output
- Implement what each file describes, writing code inside
code/
- After implementing, mark files as synced:
sdd mark-synced product/features/auth.md
Or mark all pending files at once:
sdd mark-synced
- Commit immediately after mark-synced โ this is mandatory:
git add -A && git commit -m "sdd sync: <brief description of what was implemented>"
Do NOT skip this step. Every mark-synced must be followed by a git commit.
Removing a feature
If a documentation file has status: deleted, it means that feature should be removed.
Delete the related code in code/, then run sdd mark-synced <file> (the doc file will be removed automatically), then commit.
Available commands
sdd status โ See all documentation files and their state (new/changed/deleted/synced)
sdd diff โ See what changed since last sync
sdd sync โ Get the sync prompt for pending files (includes git diff for changed files)
sdd validate โ Check for broken references and issues
sdd mark-synced [files...] โ Mark specific files (or all) as synced
sdd cr list โ List all change requests with their status
sdd cr pending โ Show draft change requests to process
sdd mark-cr-applied [files...] โ Mark change requests as applied
sdd bug list โ List all bugs with their status
sdd bug open โ Show open bugs to fix
sdd mark-bug-resolved [files...] โ Mark bugs as resolved
Rules
- Always commit after mark-synced โ run
git add -A && git commit -m "sdd sync: ..." immediately after sdd mark-synced. Never leave synced files uncommitted.
- Before running
sdd sync, check for open bugs with sdd bug open and pending change requests with sdd cr pending
- If there are pending CRs, apply them to the docs first, then mark them with
sdd mark-cr-applied
- Only implement what the sync prompt asks for
- All generated code goes inside
code/
- Respect all constraints in
## Agent Notes sections (if present)
- Do not edit files inside
.sdd/ manually
Project structure
product/ โ What to build (vision, users, features)
system/ โ How to build it (entities, architecture, tech stack, interfaces)
code/ โ All generated source code goes here
change-requests/ โ Change requests to the documentation
bugs/ โ Bug reports
.sdd/ โ Project config and sync state (do not edit)
References
For detailed information on specific topics, see: