openplanr 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/LICENSE +21 -0
- package/README.md +168 -0
- package/bin/planr.js +2 -0
- package/dist/cli/commands/checklist.d.ts +3 -0
- package/dist/cli/commands/checklist.d.ts.map +1 -0
- package/dist/cli/commands/checklist.js +34 -0
- package/dist/cli/commands/checklist.js.map +1 -0
- package/dist/cli/commands/epic.d.ts +3 -0
- package/dist/cli/commands/epic.d.ts.map +1 -0
- package/dist/cli/commands/epic.js +61 -0
- package/dist/cli/commands/epic.js.map +1 -0
- package/dist/cli/commands/feature.d.ts +3 -0
- package/dist/cli/commands/feature.d.ts.map +1 -0
- package/dist/cli/commands/feature.js +65 -0
- package/dist/cli/commands/feature.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +49 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/rules.d.ts +3 -0
- package/dist/cli/commands/rules.d.ts.map +1 -0
- package/dist/cli/commands/rules.js +48 -0
- package/dist/cli/commands/rules.js.map +1 -0
- package/dist/cli/commands/status.d.ts +3 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +38 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/story.d.ts +3 -0
- package/dist/cli/commands/story.d.ts.map +1 -0
- package/dist/cli/commands/story.js +81 -0
- package/dist/cli/commands/story.js.map +1 -0
- package/dist/cli/commands/task.d.ts +3 -0
- package/dist/cli/commands/task.d.ts.map +1 -0
- package/dist/cli/commands/task.js +76 -0
- package/dist/cli/commands/task.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +27 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/generators/base-generator.d.ts +9 -0
- package/dist/generators/base-generator.d.ts.map +1 -0
- package/dist/generators/base-generator.js +9 -0
- package/dist/generators/base-generator.js.map +1 -0
- package/dist/generators/claude-generator.d.ts +7 -0
- package/dist/generators/claude-generator.d.ts.map +1 -0
- package/dist/generators/claude-generator.js +27 -0
- package/dist/generators/claude-generator.js.map +1 -0
- package/dist/generators/codex-generator.d.ts +7 -0
- package/dist/generators/codex-generator.d.ts.map +1 -0
- package/dist/generators/codex-generator.js +22 -0
- package/dist/generators/codex-generator.js.map +1 -0
- package/dist/generators/cursor-generator.d.ts +7 -0
- package/dist/generators/cursor-generator.d.ts.map +1 -0
- package/dist/generators/cursor-generator.js +37 -0
- package/dist/generators/cursor-generator.js.map +1 -0
- package/dist/generators/generator-factory.d.ts +5 -0
- package/dist/generators/generator-factory.d.ts.map +1 -0
- package/dist/generators/generator-factory.js +19 -0
- package/dist/generators/generator-factory.js.map +1 -0
- package/dist/generators/generator-types.d.ts +4 -0
- package/dist/generators/generator-types.d.ts.map +1 -0
- package/dist/generators/generator-types.js +2 -0
- package/dist/generators/generator-types.js.map +1 -0
- package/dist/models/schema.d.ts +79 -0
- package/dist/models/schema.d.ts.map +1 -0
- package/dist/models/schema.js +22 -0
- package/dist/models/schema.js.map +1 -0
- package/dist/models/types.d.ts +78 -0
- package/dist/models/types.d.ts.map +1 -0
- package/dist/models/types.js +2 -0
- package/dist/models/types.js.map +1 -0
- package/dist/services/artifact-service.d.ts +17 -0
- package/dist/services/artifact-service.d.ts.map +1 -0
- package/dist/services/artifact-service.js +63 -0
- package/dist/services/artifact-service.js.map +1 -0
- package/dist/services/checklist-service.d.ts +6 -0
- package/dist/services/checklist-service.d.ts.map +1 -0
- package/dist/services/checklist-service.js +26 -0
- package/dist/services/checklist-service.js.map +1 -0
- package/dist/services/config-service.d.ts +5 -0
- package/dist/services/config-service.d.ts.map +1 -0
- package/dist/services/config-service.js +38 -0
- package/dist/services/config-service.js.map +1 -0
- package/dist/services/id-service.d.ts +6 -0
- package/dist/services/id-service.d.ts.map +1 -0
- package/dist/services/id-service.js +22 -0
- package/dist/services/id-service.js.map +1 -0
- package/dist/services/prompt-service.d.ts +9 -0
- package/dist/services/prompt-service.d.ts.map +1 -0
- package/dist/services/prompt-service.js +23 -0
- package/dist/services/prompt-service.js.map +1 -0
- package/dist/services/template-service.d.ts +2 -0
- package/dist/services/template-service.d.ts.map +1 -0
- package/dist/services/template-service.js +32 -0
- package/dist/services/template-service.js.map +1 -0
- package/dist/templates/adrs/adr-general.md.hbs +46 -0
- package/dist/templates/checklists/agile-checklist.md.hbs +49 -0
- package/dist/templates/epics/epic.md.hbs +46 -0
- package/dist/templates/features/feature.md.hbs +42 -0
- package/dist/templates/rules/claude/CLAUDE.md.hbs +63 -0
- package/dist/templates/rules/codex/AGENTS.md.hbs +28 -0
- package/dist/templates/rules/cursor/2000-agile-checklist.mdc.hbs +33 -0
- package/dist/templates/rules/cursor/2001-agile-create-epic.mdc.hbs +35 -0
- package/dist/templates/rules/cursor/2002-agile-create-features.mdc.hbs +35 -0
- package/dist/templates/rules/cursor/2003-agile-create-user-story.mdc.hbs +31 -0
- package/dist/templates/rules/cursor/2100-create-task-list.mdc.hbs +36 -0
- package/dist/templates/rules/cursor/2101-implement-task-list.mdc.hbs +28 -0
- package/dist/templates/stories/gherkin.feature.hbs +13 -0
- package/dist/templates/stories/user-story.md.hbs +28 -0
- package/dist/templates/tasks/task-list.md.hbs +24 -0
- package/dist/templates/templates/adrs/adr-general.md.hbs +46 -0
- package/dist/templates/templates/checklists/agile-checklist.md.hbs +49 -0
- package/dist/templates/templates/epics/epic.md.hbs +46 -0
- package/dist/templates/templates/features/feature.md.hbs +42 -0
- package/dist/templates/templates/rules/claude/CLAUDE.md.hbs +63 -0
- package/dist/templates/templates/rules/codex/AGENTS.md.hbs +28 -0
- package/dist/templates/templates/rules/cursor/2000-agile-checklist.mdc.hbs +33 -0
- package/dist/templates/templates/rules/cursor/2001-agile-create-epic.mdc.hbs +35 -0
- package/dist/templates/templates/rules/cursor/2002-agile-create-features.mdc.hbs +35 -0
- package/dist/templates/templates/rules/cursor/2003-agile-create-user-story.mdc.hbs +31 -0
- package/dist/templates/templates/rules/cursor/2100-create-task-list.mdc.hbs +36 -0
- package/dist/templates/templates/rules/cursor/2101-implement-task-list.mdc.hbs +28 -0
- package/dist/templates/templates/stories/gherkin.feature.hbs +13 -0
- package/dist/templates/templates/stories/user-story.md.hbs +28 -0
- package/dist/templates/templates/tasks/task-list.md.hbs +24 -0
- package/dist/utils/constants.d.ts +20 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +26 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/fs.d.ts +6 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +26 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/logger.d.ts +9 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +22 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/markdown.d.ts +7 -0
- package/dist/utils/markdown.d.ts.map +1 -0
- package/dist/utils/markdown.js +9 -0
- package/dist/utils/markdown.js.map +1 -0
- package/dist/utils/slugify.d.ts +2 -0
- package/dist/utils/slugify.d.ts.map +1 -0
- package/dist/utils/slugify.js +10 -0
- package/dist/utils/slugify.js.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# {{projectName}} — Agile Planning Guide
|
|
2
|
+
|
|
3
|
+
> Generated by OpenPlanr on {{date}}
|
|
4
|
+
|
|
5
|
+
## Project Structure
|
|
6
|
+
|
|
7
|
+
This project uses OpenPlanr for agile planning. All artifacts are in `{{agilePath}}/`.
|
|
8
|
+
|
|
9
|
+
### Artifact Locations
|
|
10
|
+
- **Epics:** `{{agilePath}}/epics/`
|
|
11
|
+
- **Features:** `{{agilePath}}/features/`
|
|
12
|
+
- **User Stories:** `{{agilePath}}/stories/`
|
|
13
|
+
- **Tasks:** `{{agilePath}}/tasks/`
|
|
14
|
+
- **ADRs:** `{{agilePath}}/adrs/`
|
|
15
|
+
- **Checklist:** `{{agilePath}}/checklists/AGILE-DEVELOPMENT-GUIDE.md`
|
|
16
|
+
|
|
17
|
+
## Agile Workflow
|
|
18
|
+
|
|
19
|
+
Follow the 5-phase agile development workflow:
|
|
20
|
+
|
|
21
|
+
### Phase 1: Requirements Analysis
|
|
22
|
+
1. Read existing epics in `{{agilePath}}/epics/`
|
|
23
|
+
2. Break epics into features in `{{agilePath}}/features/`
|
|
24
|
+
3. Create user stories with Gherkin acceptance criteria in `{{agilePath}}/stories/`
|
|
25
|
+
|
|
26
|
+
### Phase 2: Technical Design
|
|
27
|
+
- Create UML sequence diagrams and C4 architecture diagrams
|
|
28
|
+
- Store in `{{agilePath}}/diagrams/`
|
|
29
|
+
|
|
30
|
+
### Phase 3: Architecture Decision Records
|
|
31
|
+
- Document decisions in `{{agilePath}}/adrs/`
|
|
32
|
+
- Cover: functional requirements, testing strategy, non-functional requirements
|
|
33
|
+
|
|
34
|
+
### Phase 4: Solution Planning
|
|
35
|
+
1. Generate task lists from stories in `{{agilePath}}/tasks/`
|
|
36
|
+
2. Implement one subtask at a time
|
|
37
|
+
3. Wait for user approval between subtasks
|
|
38
|
+
4. Update task checkboxes on completion
|
|
39
|
+
|
|
40
|
+
### Phase 5: Solution Review
|
|
41
|
+
- Review implementation against acceptance criteria
|
|
42
|
+
- Refactor as needed
|
|
43
|
+
|
|
44
|
+
## Rules
|
|
45
|
+
|
|
46
|
+
- Always check the checklist at `{{agilePath}}/checklists/AGILE-DEVELOPMENT-GUIDE.md` for current progress
|
|
47
|
+
- When creating artifacts, follow the existing naming convention: `PREFIX-NNN-slug.md`
|
|
48
|
+
- Cross-reference parent/child artifacts with relative links
|
|
49
|
+
- One subtask at a time during implementation
|
|
50
|
+
{{#if existingEpics}}
|
|
51
|
+
|
|
52
|
+
## Current Epics
|
|
53
|
+
{{#each existingEpics}}
|
|
54
|
+
- [{{this.id}}]({{../agilePath}}/epics/{{this.filename}}): {{this.title}}
|
|
55
|
+
{{/each}}
|
|
56
|
+
{{/if}}
|
|
57
|
+
{{#if existingFeatures}}
|
|
58
|
+
|
|
59
|
+
## Current Features
|
|
60
|
+
{{#each existingFeatures}}
|
|
61
|
+
- [{{this.id}}]({{../agilePath}}/features/{{this.filename}}): {{this.title}}
|
|
62
|
+
{{/each}}
|
|
63
|
+
{{/if}}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# {{projectName}} — Agent Instructions
|
|
2
|
+
|
|
3
|
+
> Generated by OpenPlanr on {{date}}
|
|
4
|
+
|
|
5
|
+
## Agile Planning
|
|
6
|
+
|
|
7
|
+
This project follows a structured agile workflow. All planning artifacts are in `{{agilePath}}/`.
|
|
8
|
+
|
|
9
|
+
### Artifact Structure
|
|
10
|
+
- Epics: `{{agilePath}}/epics/` — High-level business initiatives
|
|
11
|
+
- Features: `{{agilePath}}/features/` — Capabilities derived from epics
|
|
12
|
+
- User Stories: `{{agilePath}}/stories/` — User-facing requirements with Gherkin acceptance criteria
|
|
13
|
+
- Tasks: `{{agilePath}}/tasks/` — Implementation task lists with checkboxes
|
|
14
|
+
- ADRs: `{{agilePath}}/adrs/` — Architecture Decision Records
|
|
15
|
+
|
|
16
|
+
### Workflow
|
|
17
|
+
1. Check the development checklist: `{{agilePath}}/checklists/AGILE-DEVELOPMENT-GUIDE.md`
|
|
18
|
+
2. Identify the current phase and next incomplete activity
|
|
19
|
+
3. When implementing tasks, work on ONE subtask at a time
|
|
20
|
+
4. Update task checkboxes after completing each subtask
|
|
21
|
+
5. Cross-reference artifacts using relative links
|
|
22
|
+
|
|
23
|
+
### Naming Convention
|
|
24
|
+
All artifacts follow `PREFIX-NNN-slug.md` format:
|
|
25
|
+
- EPIC-001, EPIC-002, ...
|
|
26
|
+
- FEAT-001, FEAT-002, ...
|
|
27
|
+
- US-001, US-002, ...
|
|
28
|
+
- TASK-001, TASK-002, ...
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Agile Development Checklist — guides you through the 5-phase agile workflow for {{projectName}}"
|
|
3
|
+
globs: ""
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Agile Development Checklist
|
|
8
|
+
|
|
9
|
+
You are an agile planning assistant for **{{projectName}}**. Guide the user through the agile development workflow.
|
|
10
|
+
|
|
11
|
+
## Workflow Phases
|
|
12
|
+
|
|
13
|
+
1. **Requirements Analysis** — Create epics, features, and user stories
|
|
14
|
+
2. **Technical Design** — UML sequence diagrams and C4 architecture diagrams
|
|
15
|
+
3. **Architecture Decisions** — ADRs for functional requirements, testing, and NFRs
|
|
16
|
+
4. **Solution Planning** — Task lists and implementation management
|
|
17
|
+
5. **Solution Review** — Class diagrams, review, and refactoring
|
|
18
|
+
|
|
19
|
+
## Artifact Locations
|
|
20
|
+
|
|
21
|
+
- Epics: `{{agilePath}}/epics/`
|
|
22
|
+
- Features: `{{agilePath}}/features/`
|
|
23
|
+
- User Stories: `{{agilePath}}/stories/`
|
|
24
|
+
- Tasks: `{{agilePath}}/tasks/`
|
|
25
|
+
- ADRs: `{{agilePath}}/adrs/`
|
|
26
|
+
- Checklist: `{{agilePath}}/checklists/AGILE-DEVELOPMENT-GUIDE.md`
|
|
27
|
+
|
|
28
|
+
## Instructions
|
|
29
|
+
|
|
30
|
+
1. Read the checklist at `{{agilePath}}/checklists/AGILE-DEVELOPMENT-GUIDE.md`
|
|
31
|
+
2. Identify the current phase and next incomplete activity
|
|
32
|
+
3. Guide the user through completing that activity
|
|
33
|
+
4. After completing each activity, update the checklist status
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Create an Epic — conversational epic creation for {{projectName}}"
|
|
3
|
+
globs: ""
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Create an Epic
|
|
8
|
+
|
|
9
|
+
You are an agile planning assistant. Help the user create a well-structured epic.
|
|
10
|
+
|
|
11
|
+
## Process
|
|
12
|
+
|
|
13
|
+
### Phase 1: Information Gathering
|
|
14
|
+
Ask these questions one at a time:
|
|
15
|
+
1. What is the epic title?
|
|
16
|
+
2. Who owns this epic?
|
|
17
|
+
3. What is the business value?
|
|
18
|
+
4. Who are the target users?
|
|
19
|
+
5. What problem does this solve?
|
|
20
|
+
6. What is the proposed solution?
|
|
21
|
+
7. What are the success criteria?
|
|
22
|
+
8. What are the key features (list)?
|
|
23
|
+
9. What dependencies exist?
|
|
24
|
+
10. What are the risks?
|
|
25
|
+
|
|
26
|
+
### Phase 2: Document Generation
|
|
27
|
+
Generate the epic document at `{{agilePath}}/epics/` using this structure:
|
|
28
|
+
- YAML frontmatter with id, title, owner, dates, status
|
|
29
|
+
- Sections: Business Value, Target Users, Problem Statement, Solution Overview, Success Criteria, Key Features, Dependencies, Risks
|
|
30
|
+
|
|
31
|
+
### Phase 3: Next Steps
|
|
32
|
+
Recommend creating features from this epic using `openplanr feature create --epic <ID>`.
|
|
33
|
+
|
|
34
|
+
## Existing Epics
|
|
35
|
+
Check `{{agilePath}}/epics/` for existing epics to avoid duplication.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Create Features from Epic — break down an epic into features for {{projectName}}"
|
|
3
|
+
globs: ""
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Create Features from Epic
|
|
8
|
+
|
|
9
|
+
You are an agile planning assistant. Help the user break an epic into well-defined features.
|
|
10
|
+
|
|
11
|
+
## Process
|
|
12
|
+
|
|
13
|
+
### Phase 1: Epic Analysis
|
|
14
|
+
1. Read the specified epic from `{{agilePath}}/epics/`
|
|
15
|
+
2. Analyze the key features and scope listed in the epic
|
|
16
|
+
3. Propose a feature breakdown
|
|
17
|
+
|
|
18
|
+
### Phase 2: Feature Definition
|
|
19
|
+
For each feature, gather:
|
|
20
|
+
1. Feature title
|
|
21
|
+
2. Owner
|
|
22
|
+
3. Overview/description
|
|
23
|
+
4. Functional requirements (list)
|
|
24
|
+
5. Dependencies
|
|
25
|
+
6. Technical considerations
|
|
26
|
+
7. Risks
|
|
27
|
+
8. Success metrics
|
|
28
|
+
|
|
29
|
+
### Phase 3: Document Generation
|
|
30
|
+
Generate feature documents at `{{agilePath}}/features/` with:
|
|
31
|
+
- YAML frontmatter linking back to the parent epic
|
|
32
|
+
- Cross-references to the epic document
|
|
33
|
+
|
|
34
|
+
### Phase 4: Next Steps
|
|
35
|
+
Recommend creating user stories with `openplanr story create --feature <ID>`.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Create User Stories — generate user stories with Gherkin acceptance criteria for {{projectName}}"
|
|
3
|
+
globs: ""
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Create User Stories
|
|
8
|
+
|
|
9
|
+
You are an agile planning assistant. Help create user stories with Gherkin acceptance criteria.
|
|
10
|
+
|
|
11
|
+
## Process
|
|
12
|
+
|
|
13
|
+
### Phase 1: Feature Analysis
|
|
14
|
+
1. Read the specified feature from `{{agilePath}}/features/`
|
|
15
|
+
2. Analyze functional requirements
|
|
16
|
+
3. Propose user story breakdown
|
|
17
|
+
|
|
18
|
+
### Phase 2: Story Definition
|
|
19
|
+
For each story, gather:
|
|
20
|
+
1. Role (As a...)
|
|
21
|
+
2. Goal (I want to...)
|
|
22
|
+
3. Benefit (So that...)
|
|
23
|
+
4. Acceptance criteria as Gherkin scenarios
|
|
24
|
+
|
|
25
|
+
### Phase 3: Document Generation
|
|
26
|
+
Generate two files per story:
|
|
27
|
+
1. User story markdown at `{{agilePath}}/stories/US-XXX-title.md`
|
|
28
|
+
2. Gherkin feature file at `{{agilePath}}/stories/US-XXX-gherkin.feature`
|
|
29
|
+
|
|
30
|
+
### Phase 4: Next Steps
|
|
31
|
+
Recommend creating tasks with `openplanr task create --story <ID>`.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Create Task List — generate implementation tasks from user stories for {{projectName}}"
|
|
3
|
+
globs: ""
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Create Task List
|
|
8
|
+
|
|
9
|
+
You are a technical planning assistant. Generate implementation tasks from user stories.
|
|
10
|
+
|
|
11
|
+
## Process
|
|
12
|
+
|
|
13
|
+
### Phase 1: Artifact Analysis
|
|
14
|
+
Read all relevant artifacts:
|
|
15
|
+
- User stories at `{{agilePath}}/stories/`
|
|
16
|
+
- Gherkin files for acceptance criteria
|
|
17
|
+
- Any existing ADRs at `{{agilePath}}/adrs/`
|
|
18
|
+
|
|
19
|
+
### Phase 2: High-Level Tasks
|
|
20
|
+
Generate parent tasks that cover:
|
|
21
|
+
- Setup and configuration
|
|
22
|
+
- Core implementation
|
|
23
|
+
- Testing
|
|
24
|
+
- Documentation
|
|
25
|
+
- Integration
|
|
26
|
+
|
|
27
|
+
Wait for user confirmation before proceeding.
|
|
28
|
+
|
|
29
|
+
### Phase 3: Subtask Breakdown
|
|
30
|
+
For each parent task, generate subtasks with:
|
|
31
|
+
- Clear acceptance criteria mapped to Gherkin scenarios
|
|
32
|
+
- Estimated complexity
|
|
33
|
+
- Dependencies on other tasks
|
|
34
|
+
|
|
35
|
+
### Output
|
|
36
|
+
Generate task list at `{{agilePath}}/tasks/` with checkbox format for tracking.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Implement Task List — manage task-by-task implementation for {{projectName}}"
|
|
3
|
+
globs: ""
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Implement Task List
|
|
8
|
+
|
|
9
|
+
You are an implementation assistant. Guide one-task-at-a-time implementation.
|
|
10
|
+
|
|
11
|
+
## Rules
|
|
12
|
+
|
|
13
|
+
1. Only work on ONE subtask at a time
|
|
14
|
+
2. Wait for user approval before moving to the next subtask
|
|
15
|
+
3. After completing a subtask, update the task list by checking the box
|
|
16
|
+
4. Reference acceptance criteria from the linked user story's Gherkin file
|
|
17
|
+
|
|
18
|
+
## Process
|
|
19
|
+
|
|
20
|
+
1. Read the task list from `{{agilePath}}/tasks/`
|
|
21
|
+
2. Find the first unchecked subtask
|
|
22
|
+
3. Implement it
|
|
23
|
+
4. Mark it complete in the task file
|
|
24
|
+
5. Ask the user to review before proceeding
|
|
25
|
+
|
|
26
|
+
## Task Locations
|
|
27
|
+
- Task lists: `{{agilePath}}/tasks/`
|
|
28
|
+
- User stories: `{{agilePath}}/stories/`
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Feature: {{title}}
|
|
2
|
+
{{id}} - As a {{role}}, I want to {{goal}} so that {{benefit}}
|
|
3
|
+
|
|
4
|
+
Background:
|
|
5
|
+
Given the system is initialized
|
|
6
|
+
|
|
7
|
+
{{#each scenarios}}
|
|
8
|
+
Scenario: {{this.name}}
|
|
9
|
+
Given {{this.given}}
|
|
10
|
+
When {{this.when}}
|
|
11
|
+
Then {{this.then}}
|
|
12
|
+
|
|
13
|
+
{{/each}}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "{{id}}"
|
|
3
|
+
title: "{{title}}"
|
|
4
|
+
featureId: "{{featureId}}"
|
|
5
|
+
created: "{{date}}"
|
|
6
|
+
updated: "{{date}}"
|
|
7
|
+
status: "planning"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# {{id}}: {{title}}
|
|
11
|
+
|
|
12
|
+
**Feature:** [{{featureId}}](../features/{{featureId}}.md)
|
|
13
|
+
|
|
14
|
+
## User Story
|
|
15
|
+
**As a** {{role}}
|
|
16
|
+
**I want to** {{goal}}
|
|
17
|
+
**So that** {{benefit}}
|
|
18
|
+
|
|
19
|
+
## Acceptance Criteria
|
|
20
|
+
See [{{id}}-gherkin.feature](./{{id}}-gherkin.feature) for detailed Gherkin scenarios.
|
|
21
|
+
|
|
22
|
+
{{#if additionalNotes}}
|
|
23
|
+
## Additional Notes
|
|
24
|
+
{{additionalNotes}}
|
|
25
|
+
{{/if}}
|
|
26
|
+
|
|
27
|
+
## Tasks
|
|
28
|
+
_Run `openplanr task create --story {{id}}` to generate tasks._
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "{{id}}"
|
|
3
|
+
title: "{{title}}"
|
|
4
|
+
storyId: "{{storyId}}"
|
|
5
|
+
created: "{{date}}"
|
|
6
|
+
updated: "{{date}}"
|
|
7
|
+
status: "pending"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# {{id}}: {{title}}
|
|
11
|
+
|
|
12
|
+
**User Story:** [{{storyId}}](../stories/{{storyId}}.md)
|
|
13
|
+
|
|
14
|
+
## Tasks
|
|
15
|
+
|
|
16
|
+
{{#each tasks}}
|
|
17
|
+
- [ ] **{{this.id}}** {{this.title}}
|
|
18
|
+
{{#each this.subtasks}}
|
|
19
|
+
- [ ] {{this.id}} {{this.title}}
|
|
20
|
+
{{/each}}
|
|
21
|
+
{{/each}}
|
|
22
|
+
|
|
23
|
+
## Notes
|
|
24
|
+
_Mark tasks complete by checking the boxes above, or run `openplanr task implement {{id}}`._
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "{{id}}"
|
|
3
|
+
title: "{{title}}"
|
|
4
|
+
created: "{{date}}"
|
|
5
|
+
status: "proposed"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# {{id}}: {{title}}
|
|
9
|
+
|
|
10
|
+
## Context
|
|
11
|
+
{{context}}
|
|
12
|
+
|
|
13
|
+
## Decision Drivers
|
|
14
|
+
{{#each decisionDrivers}}
|
|
15
|
+
- {{this}}
|
|
16
|
+
{{/each}}
|
|
17
|
+
|
|
18
|
+
## Considered Options
|
|
19
|
+
{{#each options}}
|
|
20
|
+
### Option {{@index}}: {{this.name}}
|
|
21
|
+
{{this.description}}
|
|
22
|
+
|
|
23
|
+
**Pros:**
|
|
24
|
+
{{#each this.pros}}
|
|
25
|
+
- {{this}}
|
|
26
|
+
{{/each}}
|
|
27
|
+
|
|
28
|
+
**Cons:**
|
|
29
|
+
{{#each this.cons}}
|
|
30
|
+
- {{this}}
|
|
31
|
+
{{/each}}
|
|
32
|
+
{{/each}}
|
|
33
|
+
|
|
34
|
+
## Decision
|
|
35
|
+
{{decision}}
|
|
36
|
+
|
|
37
|
+
## Consequences
|
|
38
|
+
### Positive
|
|
39
|
+
{{#each positiveConsequences}}
|
|
40
|
+
- {{this}}
|
|
41
|
+
{{/each}}
|
|
42
|
+
|
|
43
|
+
### Negative
|
|
44
|
+
{{#each negativeConsequences}}
|
|
45
|
+
- {{this}}
|
|
46
|
+
{{/each}}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Agile Development Guide — {{projectName}}
|
|
2
|
+
|
|
3
|
+
> Generated by Planr on {{date}}
|
|
4
|
+
|
|
5
|
+
## Phase 1: Requirements Analysis
|
|
6
|
+
|
|
7
|
+
| # | Activity | Command | Status |
|
|
8
|
+
|---|----------|---------|--------|
|
|
9
|
+
| 1 | Create Epic | `planr epic create` | [ ] |
|
|
10
|
+
| 2 | Create Features from Epic | `planr feature create --epic <ID>` | [ ] |
|
|
11
|
+
| 3 | Create User Stories from Features | `planr story create --feature <ID>` | [ ] |
|
|
12
|
+
|
|
13
|
+
## Phase 2: Technical Design
|
|
14
|
+
|
|
15
|
+
| # | Activity | Artifact | Status |
|
|
16
|
+
|---|----------|----------|--------|
|
|
17
|
+
| 4 | UML Sequence Diagrams | `docs/agile/diagrams/` | [ ] |
|
|
18
|
+
| 5 | C4 Architecture Diagrams | `docs/agile/diagrams/` | [ ] |
|
|
19
|
+
|
|
20
|
+
## Phase 3: Architecture Decision Records
|
|
21
|
+
|
|
22
|
+
| # | Activity | Command | Status |
|
|
23
|
+
|---|----------|---------|--------|
|
|
24
|
+
| 6 | Functional Requirements ADR (CLI) | `docs/agile/adrs/` | [ ] |
|
|
25
|
+
| 7 | Functional Requirements ADR (REST) | `docs/agile/adrs/` | [ ] |
|
|
26
|
+
| 8 | Acceptance Testing Strategy ADR | `docs/agile/adrs/` | [ ] |
|
|
27
|
+
| 9 | Non-Functional Requirements ADR | `docs/agile/adrs/` | [ ] |
|
|
28
|
+
|
|
29
|
+
## Phase 4: Solution Planning
|
|
30
|
+
|
|
31
|
+
| # | Activity | Command | Status |
|
|
32
|
+
|---|----------|---------|--------|
|
|
33
|
+
| 10 | Create Task Lists | `planr task create --story <ID>` | [ ] |
|
|
34
|
+
| 11 | Implement Tasks | `planr task implement <ID>` | [ ] |
|
|
35
|
+
| 12 | Create Definition of Done | `docs/agile/checklists/` | [ ] |
|
|
36
|
+
|
|
37
|
+
## Phase 5: Solution Review
|
|
38
|
+
|
|
39
|
+
| # | Activity | Artifact | Status |
|
|
40
|
+
|---|----------|----------|--------|
|
|
41
|
+
| 13 | UML Class Diagrams | `docs/agile/diagrams/` | [ ] |
|
|
42
|
+
| 14 | Review & Refactoring | Code review | [ ] |
|
|
43
|
+
|
|
44
|
+
## Best Practices
|
|
45
|
+
|
|
46
|
+
- Complete each phase before moving to the next
|
|
47
|
+
- All artifacts should be version controlled alongside your code
|
|
48
|
+
- Use `planr status` to see overall progress
|
|
49
|
+
- Use `planr rules generate` to keep AI agent rules in sync with your artifacts
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "{{id}}"
|
|
3
|
+
title: "{{title}}"
|
|
4
|
+
owner: "{{owner}}"
|
|
5
|
+
created: "{{date}}"
|
|
6
|
+
updated: "{{date}}"
|
|
7
|
+
status: "planning"
|
|
8
|
+
project: "{{projectName}}"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# {{id}}: {{title}}
|
|
12
|
+
|
|
13
|
+
## Business Value
|
|
14
|
+
{{businessValue}}
|
|
15
|
+
|
|
16
|
+
## Target Users
|
|
17
|
+
{{targetUsers}}
|
|
18
|
+
|
|
19
|
+
## Problem Statement
|
|
20
|
+
{{problemStatement}}
|
|
21
|
+
|
|
22
|
+
## Solution Overview
|
|
23
|
+
{{solutionOverview}}
|
|
24
|
+
|
|
25
|
+
## Success Criteria
|
|
26
|
+
{{successCriteria}}
|
|
27
|
+
|
|
28
|
+
## Key Features
|
|
29
|
+
{{#each keyFeatures}}
|
|
30
|
+
- {{this}}
|
|
31
|
+
{{/each}}
|
|
32
|
+
|
|
33
|
+
## Dependencies
|
|
34
|
+
{{dependencies}}
|
|
35
|
+
|
|
36
|
+
## Risks
|
|
37
|
+
{{risks}}
|
|
38
|
+
|
|
39
|
+
## Features
|
|
40
|
+
{{#if featureIds}}
|
|
41
|
+
{{#each featureIds}}
|
|
42
|
+
- [{{this}}](../features/{{this}}.md)
|
|
43
|
+
{{/each}}
|
|
44
|
+
{{else}}
|
|
45
|
+
_No features created yet. Run `planr feature create --epic {{id}}` to break this epic into features._
|
|
46
|
+
{{/if}}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "{{id}}"
|
|
3
|
+
title: "{{title}}"
|
|
4
|
+
epicId: "{{epicId}}"
|
|
5
|
+
owner: "{{owner}}"
|
|
6
|
+
created: "{{date}}"
|
|
7
|
+
updated: "{{date}}"
|
|
8
|
+
status: "planning"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# {{id}}: {{title}}
|
|
12
|
+
|
|
13
|
+
**Epic:** [{{epicId}}](../epics/{{epicId}}.md)
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
{{overview}}
|
|
17
|
+
|
|
18
|
+
## Functional Requirements
|
|
19
|
+
{{#each functionalRequirements}}
|
|
20
|
+
- {{this}}
|
|
21
|
+
{{/each}}
|
|
22
|
+
|
|
23
|
+
## User Stories
|
|
24
|
+
{{#if storyIds}}
|
|
25
|
+
{{#each storyIds}}
|
|
26
|
+
- [{{this}}](../stories/{{this}}.md)
|
|
27
|
+
{{/each}}
|
|
28
|
+
{{else}}
|
|
29
|
+
_No user stories created yet. Run `planr story create --feature {{id}}` to create user stories._
|
|
30
|
+
{{/if}}
|
|
31
|
+
|
|
32
|
+
## Dependencies
|
|
33
|
+
{{dependencies}}
|
|
34
|
+
|
|
35
|
+
## Technical Considerations
|
|
36
|
+
{{technicalConsiderations}}
|
|
37
|
+
|
|
38
|
+
## Risks
|
|
39
|
+
{{risks}}
|
|
40
|
+
|
|
41
|
+
## Success Metrics
|
|
42
|
+
{{successMetrics}}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# {{projectName}} — Agile Planning Guide
|
|
2
|
+
|
|
3
|
+
> Generated by OpenPlanr on {{date}}
|
|
4
|
+
|
|
5
|
+
## Project Structure
|
|
6
|
+
|
|
7
|
+
This project uses OpenPlanr for agile planning. All artifacts are in `{{agilePath}}/`.
|
|
8
|
+
|
|
9
|
+
### Artifact Locations
|
|
10
|
+
- **Epics:** `{{agilePath}}/epics/`
|
|
11
|
+
- **Features:** `{{agilePath}}/features/`
|
|
12
|
+
- **User Stories:** `{{agilePath}}/stories/`
|
|
13
|
+
- **Tasks:** `{{agilePath}}/tasks/`
|
|
14
|
+
- **ADRs:** `{{agilePath}}/adrs/`
|
|
15
|
+
- **Checklist:** `{{agilePath}}/checklists/AGILE-DEVELOPMENT-GUIDE.md`
|
|
16
|
+
|
|
17
|
+
## Agile Workflow
|
|
18
|
+
|
|
19
|
+
Follow the 5-phase agile development workflow:
|
|
20
|
+
|
|
21
|
+
### Phase 1: Requirements Analysis
|
|
22
|
+
1. Read existing epics in `{{agilePath}}/epics/`
|
|
23
|
+
2. Break epics into features in `{{agilePath}}/features/`
|
|
24
|
+
3. Create user stories with Gherkin acceptance criteria in `{{agilePath}}/stories/`
|
|
25
|
+
|
|
26
|
+
### Phase 2: Technical Design
|
|
27
|
+
- Create UML sequence diagrams and C4 architecture diagrams
|
|
28
|
+
- Store in `{{agilePath}}/diagrams/`
|
|
29
|
+
|
|
30
|
+
### Phase 3: Architecture Decision Records
|
|
31
|
+
- Document decisions in `{{agilePath}}/adrs/`
|
|
32
|
+
- Cover: functional requirements, testing strategy, non-functional requirements
|
|
33
|
+
|
|
34
|
+
### Phase 4: Solution Planning
|
|
35
|
+
1. Generate task lists from stories in `{{agilePath}}/tasks/`
|
|
36
|
+
2. Implement one subtask at a time
|
|
37
|
+
3. Wait for user approval between subtasks
|
|
38
|
+
4. Update task checkboxes on completion
|
|
39
|
+
|
|
40
|
+
### Phase 5: Solution Review
|
|
41
|
+
- Review implementation against acceptance criteria
|
|
42
|
+
- Refactor as needed
|
|
43
|
+
|
|
44
|
+
## Rules
|
|
45
|
+
|
|
46
|
+
- Always check the checklist at `{{agilePath}}/checklists/AGILE-DEVELOPMENT-GUIDE.md` for current progress
|
|
47
|
+
- When creating artifacts, follow the existing naming convention: `PREFIX-NNN-slug.md`
|
|
48
|
+
- Cross-reference parent/child artifacts with relative links
|
|
49
|
+
- One subtask at a time during implementation
|
|
50
|
+
{{#if existingEpics}}
|
|
51
|
+
|
|
52
|
+
## Current Epics
|
|
53
|
+
{{#each existingEpics}}
|
|
54
|
+
- [{{this.id}}]({{../agilePath}}/epics/{{this.filename}}): {{this.title}}
|
|
55
|
+
{{/each}}
|
|
56
|
+
{{/if}}
|
|
57
|
+
{{#if existingFeatures}}
|
|
58
|
+
|
|
59
|
+
## Current Features
|
|
60
|
+
{{#each existingFeatures}}
|
|
61
|
+
- [{{this.id}}]({{../agilePath}}/features/{{this.filename}}): {{this.title}}
|
|
62
|
+
{{/each}}
|
|
63
|
+
{{/if}}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# {{projectName}} — Agent Instructions
|
|
2
|
+
|
|
3
|
+
> Generated by OpenPlanr on {{date}}
|
|
4
|
+
|
|
5
|
+
## Agile Planning
|
|
6
|
+
|
|
7
|
+
This project follows a structured agile workflow. All planning artifacts are in `{{agilePath}}/`.
|
|
8
|
+
|
|
9
|
+
### Artifact Structure
|
|
10
|
+
- Epics: `{{agilePath}}/epics/` — High-level business initiatives
|
|
11
|
+
- Features: `{{agilePath}}/features/` — Capabilities derived from epics
|
|
12
|
+
- User Stories: `{{agilePath}}/stories/` — User-facing requirements with Gherkin acceptance criteria
|
|
13
|
+
- Tasks: `{{agilePath}}/tasks/` — Implementation task lists with checkboxes
|
|
14
|
+
- ADRs: `{{agilePath}}/adrs/` — Architecture Decision Records
|
|
15
|
+
|
|
16
|
+
### Workflow
|
|
17
|
+
1. Check the development checklist: `{{agilePath}}/checklists/AGILE-DEVELOPMENT-GUIDE.md`
|
|
18
|
+
2. Identify the current phase and next incomplete activity
|
|
19
|
+
3. When implementing tasks, work on ONE subtask at a time
|
|
20
|
+
4. Update task checkboxes after completing each subtask
|
|
21
|
+
5. Cross-reference artifacts using relative links
|
|
22
|
+
|
|
23
|
+
### Naming Convention
|
|
24
|
+
All artifacts follow `PREFIX-NNN-slug.md` format:
|
|
25
|
+
- EPIC-001, EPIC-002, ...
|
|
26
|
+
- FEAT-001, FEAT-002, ...
|
|
27
|
+
- US-001, US-002, ...
|
|
28
|
+
- TASK-001, TASK-002, ...
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Agile Development Checklist — guides you through the 5-phase agile workflow for {{projectName}}"
|
|
3
|
+
globs: ""
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Agile Development Checklist
|
|
8
|
+
|
|
9
|
+
You are an agile planning assistant for **{{projectName}}**. Guide the user through the agile development workflow.
|
|
10
|
+
|
|
11
|
+
## Workflow Phases
|
|
12
|
+
|
|
13
|
+
1. **Requirements Analysis** — Create epics, features, and user stories
|
|
14
|
+
2. **Technical Design** — UML sequence diagrams and C4 architecture diagrams
|
|
15
|
+
3. **Architecture Decisions** — ADRs for functional requirements, testing, and NFRs
|
|
16
|
+
4. **Solution Planning** — Task lists and implementation management
|
|
17
|
+
5. **Solution Review** — Class diagrams, review, and refactoring
|
|
18
|
+
|
|
19
|
+
## Artifact Locations
|
|
20
|
+
|
|
21
|
+
- Epics: `{{agilePath}}/epics/`
|
|
22
|
+
- Features: `{{agilePath}}/features/`
|
|
23
|
+
- User Stories: `{{agilePath}}/stories/`
|
|
24
|
+
- Tasks: `{{agilePath}}/tasks/`
|
|
25
|
+
- ADRs: `{{agilePath}}/adrs/`
|
|
26
|
+
- Checklist: `{{agilePath}}/checklists/AGILE-DEVELOPMENT-GUIDE.md`
|
|
27
|
+
|
|
28
|
+
## Instructions
|
|
29
|
+
|
|
30
|
+
1. Read the checklist at `{{agilePath}}/checklists/AGILE-DEVELOPMENT-GUIDE.md`
|
|
31
|
+
2. Identify the current phase and next incomplete activity
|
|
32
|
+
3. Guide the user through completing that activity
|
|
33
|
+
4. After completing each activity, update the checklist status
|