@benzotti/jedi 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +615 -0
- package/dist/index.js +10514 -0
- package/framework/adapters/generic.yaml +23 -0
- package/framework/adapters/laravel.yaml +46 -0
- package/framework/adapters/nextjs.yaml +36 -0
- package/framework/adapters/node.yaml +29 -0
- package/framework/agents/jdi-architect.md +118 -0
- package/framework/agents/jdi-backend.md +52 -0
- package/framework/agents/jdi-codebase-mapper.md +59 -0
- package/framework/agents/jdi-committer.md +83 -0
- package/framework/agents/jdi-debugger.md +73 -0
- package/framework/agents/jdi-devops.md +46 -0
- package/framework/agents/jdi-executor.md +89 -0
- package/framework/agents/jdi-feedback-learner.md +92 -0
- package/framework/agents/jdi-frontend.md +51 -0
- package/framework/agents/jdi-head-engineering.md +30 -0
- package/framework/agents/jdi-phase-researcher.md +59 -0
- package/framework/agents/jdi-plan-checker.md +80 -0
- package/framework/agents/jdi-planner.md +140 -0
- package/framework/agents/jdi-pr-feedback.md +118 -0
- package/framework/agents/jdi-pr-generator.md +80 -0
- package/framework/agents/jdi-product-lead.md +44 -0
- package/framework/agents/jdi-quality.md +77 -0
- package/framework/agents/jdi-researcher.md +70 -0
- package/framework/agents/jdi-ux-designer.md +40 -0
- package/framework/agents/jdi-verifier.md +80 -0
- package/framework/commands/commit.md +20 -0
- package/framework/commands/create-plan.md +32 -0
- package/framework/commands/generate-pr.md +19 -0
- package/framework/commands/implement-plan.md +34 -0
- package/framework/commands/init.md +65 -0
- package/framework/commands/pr-feedback.md +20 -0
- package/framework/commands/pr-review.md +15 -0
- package/framework/commands/quick.md +17 -0
- package/framework/commands/status.md +13 -0
- package/framework/commands/worktree-remove.md +32 -0
- package/framework/commands/worktree.md +52 -0
- package/framework/components/execution/CodebaseContext.md +36 -0
- package/framework/components/execution/Commit.md +121 -0
- package/framework/components/execution/Verify.md +140 -0
- package/framework/components/execution/VerifyAdvanced.md +43 -0
- package/framework/components/meta/AgentBase.md +108 -0
- package/framework/components/meta/AgentTeamsOrchestration.md +71 -0
- package/framework/components/meta/ComplexityRouter.md +80 -0
- package/framework/components/meta/StateUpdate.md +191 -0
- package/framework/components/meta/TeamRouter.md +86 -0
- package/framework/components/planning/TaskBreakdown.md +83 -0
- package/framework/components/planning/WaveComputation.md +59 -0
- package/framework/components/quality/PRReview.md +196 -0
- package/framework/components/quality/PRReviewLocal.md +99 -0
- package/framework/config/jdi-config.yaml +159 -0
- package/framework/config/state.yaml +72 -0
- package/framework/config/variables.yaml +43 -0
- package/framework/hooks/checkpoint.md +196 -0
- package/framework/hooks/jdi-worktree-cleanup.md +123 -0
- package/framework/hooks/lint-fix-frontend.md +59 -0
- package/framework/hooks/on-pause.md +213 -0
- package/framework/hooks/pre-commit.md +143 -0
- package/framework/jedi.md +336 -0
- package/framework/learnings/backend.md +3 -0
- package/framework/learnings/devops.md +3 -0
- package/framework/learnings/frontend.md +3 -0
- package/framework/learnings/general.md +3 -0
- package/framework/learnings/testing.md +3 -0
- package/framework/rules/commit-rules.md +24 -0
- package/framework/rules/deviation-rules.md +221 -0
- package/framework/teams/devops.md +26 -0
- package/framework/teams/engineering.md +29 -0
- package/framework/teams/micro-management.md +26 -0
- package/framework/teams/product-research.md +29 -0
- package/framework/teams/quality-assurance.md +27 -0
- package/framework/templates/PLAN-TASK.md +28 -0
- package/framework/templates/PLAN.md +127 -0
- package/framework/templates/PROJECT.md +104 -0
- package/framework/templates/PROJECT.yaml +16 -0
- package/framework/templates/REQUIREMENTS.md +95 -0
- package/framework/templates/REQUIREMENTS.yaml +27 -0
- package/framework/templates/ROADMAP.md +116 -0
- package/framework/templates/ROADMAP.yaml +24 -0
- package/framework/templates/STATE.md +137 -0
- package/framework/templates/SUMMARY.md +201 -0
- package/framework/workflows/README.md +87 -0
- package/package.json +35 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: product-research
|
|
3
|
+
description: Gathers project requirements, performs research and development without writing code
|
|
4
|
+
members: [jdi-ux-designer, jdi-planner, jdi-product-lead, jdi-researcher]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Product and Research Team
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Requirements gathering, research, and planning. Analyses designs, researches codebase patterns, defines acceptance criteria, produces implementation plans. Does NOT write code.
|
|
12
|
+
|
|
13
|
+
## Members
|
|
14
|
+
|
|
15
|
+
| Role | Agent | Spec Path |
|
|
16
|
+
|------|-------|-----------|
|
|
17
|
+
| Lead UI/UX Designer | `jdi-ux-designer` | `.jdi/framework/agents/jdi-ux-designer.md` |
|
|
18
|
+
| Product Manager | `jdi-planner` | `.jdi/framework/agents/jdi-planner.md` |
|
|
19
|
+
| Product Lead | `jdi-product-lead` | `.jdi/framework/agents/jdi-product-lead.md` |
|
|
20
|
+
| Senior Analyst | `jdi-researcher` | `.jdi/framework/agents/jdi-researcher.md` |
|
|
21
|
+
|
|
22
|
+
## Coordination
|
|
23
|
+
|
|
24
|
+
Product Lead clarifies requirements → researcher investigates codebase → UX Designer maps component specs → planner synthesises into plans → Product Lead validates.
|
|
25
|
+
|
|
26
|
+
## Boundaries
|
|
27
|
+
|
|
28
|
+
**Will:** Analyse Figma designs, research codebase, define acceptance criteria, create plans, identify risks.
|
|
29
|
+
**Won't:** Write production/test code, make commits, make architectural decisions, deploy.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quality-assurance
|
|
3
|
+
description: Creates and updates backend and frontend tests for completed engineering work
|
|
4
|
+
members: [jdi-quality, jdi-verifier]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Quality Assurance Team
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Testing and verification for completed engineering work — Pest (backend) and Vitest (frontend). Ensures coverage, enforces quality gates, validates implementations against specs.
|
|
12
|
+
|
|
13
|
+
## Members
|
|
14
|
+
|
|
15
|
+
| Role | Agent | Spec Path |
|
|
16
|
+
|------|-------|-----------|
|
|
17
|
+
| Lead QA Developer | `jdi-quality` | `.jdi/framework/agents/jdi-quality.md` |
|
|
18
|
+
| Senior QA Developer | `jdi-verifier` | `.jdi/framework/agents/jdi-verifier.md` |
|
|
19
|
+
|
|
20
|
+
## Coordination
|
|
21
|
+
|
|
22
|
+
Lead QA designs test strategy and writes tests → Senior QA performs three-level verification (Existence, Substantive, Wired) and validates against specs.
|
|
23
|
+
|
|
24
|
+
## Boundaries
|
|
25
|
+
|
|
26
|
+
**Will:** Design test strategies, write Pest/Vitest tests, identify edge cases, analyse coverage, verify implementations, enforce quality standards.
|
|
27
|
+
**Won't:** Write production code, skip quality checks, modify source files beyond tests, make architectural decisions.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
plan_id: {phase}-{plan}
|
|
3
|
+
task_id: {phase}-{plan}-T{n}
|
|
4
|
+
task_name: {Task Name}
|
|
5
|
+
type: auto
|
|
6
|
+
wave: 1
|
|
7
|
+
depends_on: []
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Task {n}: {Task Name}
|
|
11
|
+
|
|
12
|
+
**Objective:** {What this task accomplishes}
|
|
13
|
+
|
|
14
|
+
**Files:**
|
|
15
|
+
- `{path/to/file.ts}` - {what changes}
|
|
16
|
+
- `{path/to/file2.ts}` - {what changes}
|
|
17
|
+
|
|
18
|
+
**Implementation:**
|
|
19
|
+
1. {Step 1}
|
|
20
|
+
2. {Step 2}
|
|
21
|
+
3. {Step 3}
|
|
22
|
+
|
|
23
|
+
**Verification:**
|
|
24
|
+
- [ ] {Check 1}
|
|
25
|
+
- [ ] {Check 2}
|
|
26
|
+
|
|
27
|
+
**Done when:**
|
|
28
|
+
- {Specific, observable completion criterion}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
<section name="Frontmatter">
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
phase: {X}
|
|
5
|
+
plan: {YY}
|
|
6
|
+
name: {Plan Name}
|
|
7
|
+
slug: {plan-slug}
|
|
8
|
+
type: implementation
|
|
9
|
+
autonomous: true
|
|
10
|
+
wave: 1
|
|
11
|
+
gap_closure: false
|
|
12
|
+
|
|
13
|
+
# Split plan task files (omit for legacy monolithic plans)
|
|
14
|
+
task_files:
|
|
15
|
+
- .jdi/plans/{X}-{YY}-{plan-slug}.T1.md
|
|
16
|
+
- .jdi/plans/{X}-{YY}-{plan-slug}.T2.md
|
|
17
|
+
|
|
18
|
+
# Dependency Graph (enables context assembly and parallel execution)
|
|
19
|
+
requires:
|
|
20
|
+
- phase: {N}
|
|
21
|
+
provides: [dependency1, dependency2]
|
|
22
|
+
provides: [deliverable1, deliverable2]
|
|
23
|
+
affects: [{future-phase-1}, {future-phase-2}]
|
|
24
|
+
|
|
25
|
+
# Semantic Indexing (enables fast scanning and context selection)
|
|
26
|
+
subsystem: {auth|api|ui|data|infra|docs|test}
|
|
27
|
+
tags: [tag1, tag2, tag3]
|
|
28
|
+
|
|
29
|
+
# Tech Tracking
|
|
30
|
+
tech_stack:
|
|
31
|
+
added: []
|
|
32
|
+
patterns: []
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
# Phase {X} Plan {YY}: {Plan Name}
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Objective
|
|
40
|
+
|
|
41
|
+
{One paragraph describing what this plan accomplishes. Be specific about the outcome.}
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Context
|
|
46
|
+
|
|
47
|
+
**Read before executing:**
|
|
48
|
+
- @{path/to/relevant/file}
|
|
49
|
+
- @{path/to/another/file}
|
|
50
|
+
|
|
51
|
+
**Relevant patterns:**
|
|
52
|
+
- {Pattern to follow}
|
|
53
|
+
|
|
54
|
+
**Previous work:**
|
|
55
|
+
- {What's already done that this builds on}
|
|
56
|
+
|
|
57
|
+
</section>
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
<section name="TaskManifest">
|
|
62
|
+
|
|
63
|
+
## Tasks
|
|
64
|
+
|
|
65
|
+
| Task | Name | Type | Wave | File |
|
|
66
|
+
|------|------|------|------|------|
|
|
67
|
+
| T1 | {Task Name} | auto | 1 | `{X}-{YY}-{plan-slug}.T1.md` |
|
|
68
|
+
| T2 | {Task Name} | auto | 1 | `{X}-{YY}-{plan-slug}.T2.md` |
|
|
69
|
+
| T3 | {Task Name} | checkpoint:human-verify | 2 | `{X}-{YY}-{plan-slug}.T3.md` |
|
|
70
|
+
|
|
71
|
+
> Task details are in individual files. See `task_files` in frontmatter.
|
|
72
|
+
|
|
73
|
+
</section>
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
<section name="Verification">
|
|
78
|
+
|
|
79
|
+
## Verification
|
|
80
|
+
|
|
81
|
+
After all tasks complete, verify:
|
|
82
|
+
|
|
83
|
+
- [ ] {Overall verification 1}
|
|
84
|
+
- [ ] {Overall verification 2}
|
|
85
|
+
- [ ] Tests pass: `{test command}`
|
|
86
|
+
- [ ] Types check: `{type check command}`
|
|
87
|
+
|
|
88
|
+
## Success Criteria
|
|
89
|
+
|
|
90
|
+
This plan is complete when:
|
|
91
|
+
|
|
92
|
+
1. {Observable outcome 1}
|
|
93
|
+
2. {Observable outcome 2}
|
|
94
|
+
3. All tasks have commits
|
|
95
|
+
4. Verification checks pass
|
|
96
|
+
|
|
97
|
+
## Output
|
|
98
|
+
|
|
99
|
+
**Creates:**
|
|
100
|
+
- `{path/to/new/file}` - {purpose}
|
|
101
|
+
|
|
102
|
+
**Modifies:**
|
|
103
|
+
- `{path/to/existing/file}` - {what changes}
|
|
104
|
+
|
|
105
|
+
**SUMMARY location:** `.jdi/plans/{phase}-{plan}-{slug}.summary.md`
|
|
106
|
+
|
|
107
|
+
## Notes
|
|
108
|
+
|
|
109
|
+
{Any additional context, warnings, or guidance for execution}
|
|
110
|
+
|
|
111
|
+
</section>
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
<section name="DeviationRules">
|
|
116
|
+
|
|
117
|
+
## Deviation Rules Reference
|
|
118
|
+
|
|
119
|
+
During execution, apply automatically:
|
|
120
|
+
- **Rule 1**: Auto-fix bugs
|
|
121
|
+
- **Rule 2**: Auto-add critical functionality
|
|
122
|
+
- **Rule 3**: Auto-fix blocking issues
|
|
123
|
+
- **Rule 4**: Ask about architectural changes
|
|
124
|
+
|
|
125
|
+
Document all deviations in SUMMARY.md.
|
|
126
|
+
|
|
127
|
+
</section>
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# {Project Name}
|
|
2
|
+
|
|
3
|
+
> {One-liner: What this is in plain language}
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## What This Is
|
|
8
|
+
|
|
9
|
+
{2-3 sentences describing the project. What does it do? What problem does it solve? Who is it for?}
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Core Value
|
|
14
|
+
|
|
15
|
+
**The ONE thing that must work:**
|
|
16
|
+
|
|
17
|
+
{Single sentence describing the critical functionality. Everything else is secondary.}
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Context
|
|
22
|
+
|
|
23
|
+
### Background
|
|
24
|
+
|
|
25
|
+
{Why does this project exist? What led to it?}
|
|
26
|
+
|
|
27
|
+
### Users
|
|
28
|
+
|
|
29
|
+
{Who will use this? What are their needs?}
|
|
30
|
+
|
|
31
|
+
### Constraints
|
|
32
|
+
|
|
33
|
+
| Constraint | Description |
|
|
34
|
+
|------------|-------------|
|
|
35
|
+
| {constraint 1} | {details} |
|
|
36
|
+
| {constraint 2} | {details} |
|
|
37
|
+
|
|
38
|
+
### Tech Stack
|
|
39
|
+
|
|
40
|
+
{If known or decided}
|
|
41
|
+
|
|
42
|
+
| Layer | Technology |
|
|
43
|
+
|-------|------------|
|
|
44
|
+
| Frontend | {tech} |
|
|
45
|
+
| Backend | {tech} |
|
|
46
|
+
| Database | {tech} |
|
|
47
|
+
| Infrastructure | {tech} |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Requirements
|
|
52
|
+
|
|
53
|
+
### Validated
|
|
54
|
+
|
|
55
|
+
{Requirements proven through shipped functionality}
|
|
56
|
+
|
|
57
|
+
- ✓ {Requirement} — validated {date}
|
|
58
|
+
|
|
59
|
+
### Active
|
|
60
|
+
|
|
61
|
+
{Current scope - what's being built now}
|
|
62
|
+
|
|
63
|
+
- [ ] {Requirement 1}
|
|
64
|
+
- [ ] {Requirement 2}
|
|
65
|
+
- [ ] {Requirement 3}
|
|
66
|
+
|
|
67
|
+
### Out of Scope
|
|
68
|
+
|
|
69
|
+
{Explicitly excluded - not in this version}
|
|
70
|
+
|
|
71
|
+
- {Exclusion 1} — {reason}
|
|
72
|
+
- {Exclusion 2} — {reason}
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Key Decisions
|
|
77
|
+
|
|
78
|
+
| Decision | Rationale | Outcome |
|
|
79
|
+
|----------|-----------|---------|
|
|
80
|
+
| {decision 1} | {why} | {result or "Pending"} |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Success Criteria
|
|
85
|
+
|
|
86
|
+
How do we know when this is done?
|
|
87
|
+
|
|
88
|
+
1. {Measurable criterion 1}
|
|
89
|
+
2. {Measurable criterion 2}
|
|
90
|
+
3. {Measurable criterion 3}
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## References
|
|
95
|
+
|
|
96
|
+
| Resource | Link |
|
|
97
|
+
|----------|------|
|
|
98
|
+
| Design | {Figma/design link} |
|
|
99
|
+
| Ticket | {ClickUp/Jira link} |
|
|
100
|
+
| Documentation | {docs link} |
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
*Last updated: {date} after {event}*
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name: "{project_name}"
|
|
2
|
+
summary: "{one_liner_description}"
|
|
3
|
+
|
|
4
|
+
core_value: "{the_one_thing_that_must_work}"
|
|
5
|
+
|
|
6
|
+
background: "{why_this_project_exists}"
|
|
7
|
+
|
|
8
|
+
constraints:
|
|
9
|
+
- "{constraint_1}"
|
|
10
|
+
- "{constraint_2}"
|
|
11
|
+
|
|
12
|
+
success_criteria:
|
|
13
|
+
- "{measurable_criterion_1}"
|
|
14
|
+
- "{measurable_criterion_2}"
|
|
15
|
+
|
|
16
|
+
last_updated: "{date}"
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Requirements
|
|
2
|
+
|
|
3
|
+
> Scoped requirements for {Project Name}
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
| Category | v1 | v2 | Out of Scope |
|
|
10
|
+
|----------|----|----|--------------|
|
|
11
|
+
| {Category 1} | {count} | {count} | {count} |
|
|
12
|
+
| {Category 2} | {count} | {count} | {count} |
|
|
13
|
+
| **Total** | **{total}** | **{total}** | **{total}** |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## v1 Requirements
|
|
18
|
+
|
|
19
|
+
### {Category 1}
|
|
20
|
+
|
|
21
|
+
| REQ-ID | Requirement | Priority | Status |
|
|
22
|
+
|--------|-------------|----------|--------|
|
|
23
|
+
| {CAT}-01 | {User can...} | High | Pending |
|
|
24
|
+
| {CAT}-02 | {User can...} | Medium | Pending |
|
|
25
|
+
|
|
26
|
+
#### {CAT}-01: {Short name}
|
|
27
|
+
|
|
28
|
+
**Requirement:** {Full description}
|
|
29
|
+
|
|
30
|
+
**Acceptance Criteria:**
|
|
31
|
+
- [ ] {Criterion 1}
|
|
32
|
+
- [ ] {Criterion 2}
|
|
33
|
+
- [ ] {Criterion 3}
|
|
34
|
+
|
|
35
|
+
**Notes:** {Any additional context}
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
#### {CAT}-02: {Short name}
|
|
40
|
+
|
|
41
|
+
**Requirement:** {Full description}
|
|
42
|
+
|
|
43
|
+
**Acceptance Criteria:**
|
|
44
|
+
- [ ] {Criterion 1}
|
|
45
|
+
- [ ] {Criterion 2}
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
### {Category 2}
|
|
50
|
+
|
|
51
|
+
| REQ-ID | Requirement | Priority | Status |
|
|
52
|
+
|--------|-------------|----------|--------|
|
|
53
|
+
| {CAT2}-01 | {User can...} | High | Pending |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## v2 Requirements
|
|
58
|
+
|
|
59
|
+
{Deferred to future version}
|
|
60
|
+
|
|
61
|
+
| REQ-ID | Requirement | Reason for Deferral |
|
|
62
|
+
|--------|-------------|---------------------|
|
|
63
|
+
| {CAT}-03 | {User can...} | {Not critical for MVP} |
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Out of Scope
|
|
68
|
+
|
|
69
|
+
{Explicitly excluded from all versions}
|
|
70
|
+
|
|
71
|
+
| Item | Reason |
|
|
72
|
+
|------|--------|
|
|
73
|
+
| {Feature} | {Why it's excluded} |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Traceability
|
|
78
|
+
|
|
79
|
+
| REQ-ID | Phase | Plan | Status |
|
|
80
|
+
|--------|-------|------|--------|
|
|
81
|
+
| {CAT}-01 | 1 | 01 | Pending |
|
|
82
|
+
| {CAT}-02 | 1 | 02 | Pending |
|
|
83
|
+
| {CAT2}-01 | 2 | 01 | Pending |
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Change Log
|
|
88
|
+
|
|
89
|
+
| Date | Change | Reason |
|
|
90
|
+
|------|--------|--------|
|
|
91
|
+
| {date} | Initial requirements | Project initialisation |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
*Last updated: {date}*
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Only active requirements. Completed phases are pruned automatically.
|
|
2
|
+
|
|
3
|
+
active_phase: 1
|
|
4
|
+
|
|
5
|
+
phases:
|
|
6
|
+
1:
|
|
7
|
+
name: "{phase_name}"
|
|
8
|
+
requirements:
|
|
9
|
+
"{REQ-ID}":
|
|
10
|
+
description: "{requirement_description}"
|
|
11
|
+
priority: must | should | could
|
|
12
|
+
status: pending
|
|
13
|
+
acceptance_criteria:
|
|
14
|
+
- "{criterion_1}"
|
|
15
|
+
- "{criterion_2}"
|
|
16
|
+
|
|
17
|
+
out_of_scope:
|
|
18
|
+
- "{exclusion_1}: {reason}"
|
|
19
|
+
|
|
20
|
+
risks:
|
|
21
|
+
- id: R-01
|
|
22
|
+
description: "{risk_description}"
|
|
23
|
+
mitigation: "{mitigation_approach}"
|
|
24
|
+
|
|
25
|
+
completed_phases: []
|
|
26
|
+
|
|
27
|
+
last_updated: "{date}"
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Roadmap
|
|
2
|
+
|
|
3
|
+
> Phase structure for {Project Name}
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
| Phase | Name | Plans | Requirements | Status |
|
|
10
|
+
|-------|------|-------|--------------|--------|
|
|
11
|
+
| 1 | {name} | {count} | {REQ-IDs} | Pending |
|
|
12
|
+
| 2 | {name} | {count} | {REQ-IDs} | Pending |
|
|
13
|
+
| 3 | {name} | {count} | {REQ-IDs} | Pending |
|
|
14
|
+
|
|
15
|
+
**Total:** {N} phases | {M} plans | {R} requirements
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Phase 1: {Phase Name}
|
|
20
|
+
|
|
21
|
+
**Goal:** {What this phase achieves - one sentence}
|
|
22
|
+
|
|
23
|
+
**Requirements:** {REQ-IDs covered}
|
|
24
|
+
|
|
25
|
+
**Must-Haves:**
|
|
26
|
+
- {Observable outcome 1}
|
|
27
|
+
- {Observable outcome 2}
|
|
28
|
+
- {Observable outcome 3}
|
|
29
|
+
|
|
30
|
+
**Plans:**
|
|
31
|
+
| Plan | Name | Tasks | Wave | Status |
|
|
32
|
+
|------|------|-------|------|--------|
|
|
33
|
+
| 01 | {name} | {count} | 1 | Pending |
|
|
34
|
+
| 02 | {name} | {count} | 1 | Pending |
|
|
35
|
+
| 03 | {name} | {count} | 2 | Pending |
|
|
36
|
+
|
|
37
|
+
**Dependencies:** None (first phase)
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Phase 2: {Phase Name}
|
|
42
|
+
|
|
43
|
+
**Goal:** {What this phase achieves}
|
|
44
|
+
|
|
45
|
+
**Requirements:** {REQ-IDs covered}
|
|
46
|
+
|
|
47
|
+
**Must-Haves:**
|
|
48
|
+
- {Observable outcome 1}
|
|
49
|
+
- {Observable outcome 2}
|
|
50
|
+
|
|
51
|
+
**Plans:**
|
|
52
|
+
| Plan | Name | Tasks | Wave | Status |
|
|
53
|
+
|------|------|-------|------|--------|
|
|
54
|
+
| 01 | {name} | {count} | 1 | Pending |
|
|
55
|
+
| 02 | {name} | {count} | 2 | Pending |
|
|
56
|
+
|
|
57
|
+
**Dependencies:** Phase 1 complete
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Phase 3: {Phase Name}
|
|
62
|
+
|
|
63
|
+
**Goal:** {What this phase achieves}
|
|
64
|
+
|
|
65
|
+
**Requirements:** {REQ-IDs covered}
|
|
66
|
+
|
|
67
|
+
**Must-Haves:**
|
|
68
|
+
- {Observable outcome 1}
|
|
69
|
+
- {Observable outcome 2}
|
|
70
|
+
|
|
71
|
+
**Plans:**
|
|
72
|
+
| Plan | Name | Tasks | Wave | Status |
|
|
73
|
+
|------|------|-------|------|--------|
|
|
74
|
+
| 01 | {name} | {count} | 1 | Pending |
|
|
75
|
+
|
|
76
|
+
**Dependencies:** Phase 2 complete
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Milestone Summary
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
Phase 1: {name}
|
|
84
|
+
├── Plan 01: {name}
|
|
85
|
+
├── Plan 02: {name}
|
|
86
|
+
└── Plan 03: {name}
|
|
87
|
+
|
|
88
|
+
Phase 2: {name}
|
|
89
|
+
├── Plan 01: {name}
|
|
90
|
+
└── Plan 02: {name}
|
|
91
|
+
|
|
92
|
+
Phase 3: {name}
|
|
93
|
+
└── Plan 01: {name}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Requirement Coverage
|
|
99
|
+
|
|
100
|
+
| REQ-ID | Requirement | Phase | Plan |
|
|
101
|
+
|--------|-------------|-------|------|
|
|
102
|
+
| {CAT}-01 | {short name} | 1 | 01 |
|
|
103
|
+
| {CAT}-02 | {short name} | 1 | 02 |
|
|
104
|
+
| {CAT2}-01 | {short name} | 2 | 01 |
|
|
105
|
+
|
|
106
|
+
**Coverage:** 100% of v1 requirements mapped
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Notes
|
|
111
|
+
|
|
112
|
+
{Any additional context about the roadmap structure, sequencing decisions, etc.}
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
*Last updated: {date}*
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Only active phases. Completed phases are pruned automatically.
|
|
2
|
+
|
|
3
|
+
overview:
|
|
4
|
+
total_phases: 1
|
|
5
|
+
completed: []
|
|
6
|
+
active: [1]
|
|
7
|
+
|
|
8
|
+
phases:
|
|
9
|
+
1:
|
|
10
|
+
name: "{phase_name}"
|
|
11
|
+
status: pending
|
|
12
|
+
goal: "{what_this_phase_achieves}"
|
|
13
|
+
requirements: ["{REQ-ID-1}", "{REQ-ID-2}"]
|
|
14
|
+
must_haves:
|
|
15
|
+
- "{observable_outcome_1}"
|
|
16
|
+
- "{observable_outcome_2}"
|
|
17
|
+
plans:
|
|
18
|
+
"01":
|
|
19
|
+
name: "{plan_name}"
|
|
20
|
+
tasks: 0
|
|
21
|
+
waves: [1]
|
|
22
|
+
status: pending
|
|
23
|
+
|
|
24
|
+
last_updated: "{date}"
|