New Plan — DDD Implementation Plan Creation
Create a domain-driven implementation plan that bridges an accepted proposal and its resulting decisions.
Command
/new-plan <short-title> --from-proposal NNN [--module <path>] [--root]
Arguments
| Argument | Required | Description |
|---|---|---|
<short-title> | Yes | Short, hyphenated title for the plan |
--from-proposal NNN | Yes | The number of the originating proposal. The proposal must have status accepted. |
--module <path> | No | Target module path |
--root | No | Create at repo root level |
Workflow
- •
Parse arguments. Extract title and
--from-proposal NNNfrom$ARGUMENTS. The--from-proposalflag is required — plans always originate from a proposal. - •
Locate and verify the proposal. Find the proposal matching NNN in the appropriate
docs/proposals/directory. Read its frontmatter and verify:- •The proposal exists
- •Its
statusisaccepted - •If not accepted, report an error: "Cannot create plan: proposal NNN has status '<status>'. Only accepted proposals can have implementation plans."
- •
Get next sequence number. Run:
bashbash scripts/next-number.sh --dir <target-plans-dir>
- •
Read DDD guidance. Before creating the plan, read
reference/ddd-guide.mdto inform the decomposition approach. Use this guidance to help the user structure their bounded contexts, aggregates, and domain events. - •
Create the plan file. Read the template from
templates/plan.mdand create<target>/NNN-<short-title>.md. - •
Populate frontmatter:
Field Value titleDerived from the short title numberThe NNN from step 3 statusactiveauthorGit user name or prompt createdToday's date updatedToday's date originating_proposalThe proposal number from --from-proposal - •
Pre-populate from proposal. Read the originating proposal's content and use it to seed:
- •The Objective section (link to proposal)
- •Initial bounded contexts (derived from the proposal's scope)
- •Known dependencies
- •Anticipated decisions
- •
Confirm creation. Report the created file and guide the user to:
- •Complete the domain analysis (bounded contexts, aggregates, domain events)
- •Define implementation tasks per the DDD guide
- •Create ADRs for decisions made during implementation
Plan Lifecycle
| State | Description |
|---|---|
active | Work is in progress. Plan is mutable. |
complete | All tasks are done. Related ADRs have been created. |
abandoned | Plan was abandoned. Originating proposal may still stand. |
Reference
- •
reference/ddd-guide.md— Practical guide to DDD decomposition for implementation plans
Templates
- •
templates/plan.md— DDD implementation plan template (copy ofscaffold/templates/core/plan.md)
Scripts
- •
scripts/next-number.sh— Determines the next NNN sequence number