sprint planning
This commit is contained in:
parent
b8db0806ed
commit
419043e704
File diff suppressed because it is too large
Load Diff
|
|
@ -43,7 +43,7 @@ The heart of BMM - structured workflows for the four development phases:
|
||||||
- `story-ready` - Approve story for development (SM agent)
|
- `story-ready` - Approve story for development (SM agent)
|
||||||
- `story-context` - Expertise injection (SM agent)
|
- `story-context` - Expertise injection (SM agent)
|
||||||
- `dev-story` - Implementation (DEV agent)
|
- `dev-story` - Implementation (DEV agent)
|
||||||
- `story-approved` - Mark story done (DEV agent)
|
- `story-done` - Mark story done (DEV agent)
|
||||||
- `review-story` - Quality validation (DEV/SR agent)
|
- `review-story` - Quality validation (DEV/SR agent)
|
||||||
- `correct-course` - Issue resolution
|
- `correct-course` - Issue resolution
|
||||||
- `retrospective` - Continuous improvement
|
- `retrospective` - Continuous improvement
|
||||||
|
|
@ -101,7 +101,7 @@ BACKLOG → TODO → IN PROGRESS → DONE
|
||||||
- **IN PROGRESS**: Single story approved for DEV to implement
|
- **IN PROGRESS**: Single story approved for DEV to implement
|
||||||
- **DONE**: Completed stories with dates and points
|
- **DONE**: Completed stories with dates and points
|
||||||
|
|
||||||
Agents never search for "next story" - they always read the exact story from the status file. Simple workflows (`story-ready`, `story-approved`) advance the queue automatically.
|
Agents never search for "next story" - they always read the exact story from the status file. Simple workflows (`story-ready`, `story-done`) advance the queue automatically.
|
||||||
|
|
||||||
### Context Injection
|
### Context Injection
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,8 @@ agent:
|
||||||
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml"
|
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml"
|
||||||
description: "Execute Dev Story workflow, implementing tasks and tests, or performing updates to the story"
|
description: "Execute Dev Story workflow, implementing tasks and tests, or performing updates to the story"
|
||||||
|
|
||||||
- trigger: story-approved
|
- trigger: story-done
|
||||||
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-approved/workflow.yaml"
|
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-done/workflow.yaml"
|
||||||
description: Mark story done after DoD complete
|
description: Mark story done after DoD complete
|
||||||
|
|
||||||
- trigger: review
|
- trigger: review
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,10 @@ agent:
|
||||||
workflow: "{project-root}/bmad/bmm/workflows/workflow-status/workflow.yaml"
|
workflow: "{project-root}/bmad/bmm/workflows/workflow-status/workflow.yaml"
|
||||||
description: Check workflow status and get recommendations
|
description: Check workflow status and get recommendations
|
||||||
|
|
||||||
|
- trigger: sprint-planning
|
||||||
|
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml"
|
||||||
|
description: Generate or update sprint-status.yaml from epic files
|
||||||
|
|
||||||
- trigger: create-story
|
- trigger: create-story
|
||||||
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml"
|
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml"
|
||||||
description: Create a Draft Story with Context
|
description: Create a Draft Story with Context
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,221 @@
|
||||||
|
# Phase 4: Implementation
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
Phase 4 is where planning transitions into actual development. This phase manages the iterative implementation of stories defined in the epic files, tracking their progress through a well-defined status workflow.
|
||||||
|
|
||||||
|
## Status Definitions
|
||||||
|
|
||||||
|
### Epic Status
|
||||||
|
|
||||||
|
Epics progress through a simple two-state flow:
|
||||||
|
|
||||||
|
| Status | Description | Next Status |
|
||||||
|
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
|
||||||
|
| **backlog** | Epic exists in epic file but technical context has not been created | contexted |
|
||||||
|
| **contexted** | Epic technical context has been created via `epic-tech-context` workflow. This is a prerequisite before any stories in the epic can be drafted. | - |
|
||||||
|
|
||||||
|
**File Indicators:**
|
||||||
|
|
||||||
|
- `backlog`: No `epic-{n}-context.md` file exists
|
||||||
|
- `contexted`: `{output_folder}/epic-{n}-context.md` file exists
|
||||||
|
|
||||||
|
### Story Status
|
||||||
|
|
||||||
|
Stories progress through a six-state flow representing their journey from idea to implementation:
|
||||||
|
|
||||||
|
| Status | Description | Set By | Next Status |
|
||||||
|
| ----------------- | ---------------------------------------------------------------------------------- | ------------- | ------------- |
|
||||||
|
| **backlog** | Story only exists in the epic file, no work has begun | Initial state | drafted |
|
||||||
|
| **drafted** | Story file has been created via `create-story` workflow | SM Agent | ready-for-dev |
|
||||||
|
| **ready-for-dev** | Story has been drafted, approved, and context created via `story-context` workflow | SM Agent | in-progress |
|
||||||
|
| **in-progress** | Developer is actively implementing the story | Dev Agent | review |
|
||||||
|
| **review** | Implementation complete, under SM review via `review-story` workflow | Dev Agent | done |
|
||||||
|
| **done** | Story has been reviewed and completed | Dev Agent | - |
|
||||||
|
|
||||||
|
**File Indicators:**
|
||||||
|
|
||||||
|
- `backlog`: No story file exists
|
||||||
|
- `drafted`: `{story_dir}/{story-key}.md` file exists (e.g., `1-1-user-auth.md`)
|
||||||
|
- `ready-for-dev`: Both story file and context exist (e.g., `1-1-user-auth-context.md`)
|
||||||
|
- `in-progress`, `review`, `done`: Manual status updates in sprint-status.yaml
|
||||||
|
|
||||||
|
### Retrospective Status
|
||||||
|
|
||||||
|
Optional retrospectives can be completed after an epic:
|
||||||
|
|
||||||
|
| Status | Description |
|
||||||
|
| ------------- | -------------------------------------------------- |
|
||||||
|
| **optional** | Retrospective can be completed but is not required |
|
||||||
|
| **completed** | Retrospective has been completed |
|
||||||
|
|
||||||
|
## Status Transitions
|
||||||
|
|
||||||
|
### Epic Flow
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph LR
|
||||||
|
backlog --> contexted[contexted via epic-tech-context]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Story Flow
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph LR
|
||||||
|
backlog --> drafted[drafted via create-story]
|
||||||
|
drafted --> ready[ready-for-dev via story-context]
|
||||||
|
ready --> progress[in-progress - dev starts]
|
||||||
|
progress --> review[review via review-story]
|
||||||
|
review --> done[done - dev completes]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Sprint Status Management
|
||||||
|
|
||||||
|
The `sprint-status.yaml` file is the single source of truth for tracking all work items. It contains:
|
||||||
|
|
||||||
|
- All epics with their current status
|
||||||
|
- All stories with their current status
|
||||||
|
- Retrospective placeholders for each epic
|
||||||
|
- Clear documentation of status definitions
|
||||||
|
|
||||||
|
### Example Sprint Status File
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
development_status:
|
||||||
|
epic-1: contexted
|
||||||
|
1-1-project-foundation: done
|
||||||
|
1-2-app-shell: done
|
||||||
|
1-3-user-authentication: in-progress
|
||||||
|
1-4-plant-data-model: ready-for-dev
|
||||||
|
1-5-add-plant-manual: drafted
|
||||||
|
1-6-photo-identification: backlog
|
||||||
|
1-7-plant-naming: backlog
|
||||||
|
epic-1-retrospective: optional
|
||||||
|
|
||||||
|
epic-2: backlog
|
||||||
|
2-1-personality-system: backlog
|
||||||
|
2-2-chat-interface: backlog
|
||||||
|
2-3-llm-integration: backlog
|
||||||
|
epic-2-retrospective: optional
|
||||||
|
```
|
||||||
|
|
||||||
|
## Workflows in Phase 4
|
||||||
|
|
||||||
|
### Core Workflows
|
||||||
|
|
||||||
|
| Workflow | Purpose | Updates Status |
|
||||||
|
| --------------------- | -------------------------------------------------- | ----------------------------------- |
|
||||||
|
| **sprint-planning** | Generate/update sprint-status.yaml from epic files | Auto-detects file-based statuses |
|
||||||
|
| **epic-tech-context** | Create technical context for an epic | epic: backlog → contexted |
|
||||||
|
| **create-story** | Draft a story from epics/PRD | story: backlog → drafted |
|
||||||
|
| **story-context** | Add implementation context to story | story: drafted → ready-for-dev |
|
||||||
|
| **dev-story** | Developer implements the story | story: ready-for-dev → in-progress |
|
||||||
|
| **review-story** | SM reviews implementation | story: in-progress → review |
|
||||||
|
| **retrospective** | Conduct epic retrospective | retrospective: optional → completed |
|
||||||
|
| **correct-course** | Course correction when needed | Various status updates |
|
||||||
|
|
||||||
|
### Sprint Planning Workflow
|
||||||
|
|
||||||
|
The `sprint-planning` workflow is the foundation of Phase 4. It:
|
||||||
|
|
||||||
|
1. **Parses all epic files** (`epic*.md` or `epics.md`)
|
||||||
|
2. **Extracts all epics and stories** maintaining their order
|
||||||
|
3. **Auto-detects current status** based on existing files:
|
||||||
|
- Checks for epic context files
|
||||||
|
- Checks for story files
|
||||||
|
- Checks for story context files
|
||||||
|
4. **Generates sprint-status.yaml** with current reality
|
||||||
|
5. **Preserves manual status updates** (won't downgrade statuses)
|
||||||
|
|
||||||
|
Run this workflow:
|
||||||
|
|
||||||
|
- Initially after Phase 3 completion
|
||||||
|
- After creating epic contexts
|
||||||
|
- Periodically to sync file-based status
|
||||||
|
- To verify current project state
|
||||||
|
|
||||||
|
### Workflow Guidelines
|
||||||
|
|
||||||
|
1. **Epic Context First**: Epics should be contexted before drafting their stories
|
||||||
|
2. **Flexible Parallelism**: Multiple stories can be in-progress based on team capacity
|
||||||
|
3. **Sequential Default**: Stories within an epic are typically worked in order
|
||||||
|
4. **Learning Transfer**: SM drafts next story after previous is done, incorporating learnings
|
||||||
|
5. **Review Flow**: Dev moves to review, SM reviews, Dev moves to done
|
||||||
|
|
||||||
|
## Agent Responsibilities
|
||||||
|
|
||||||
|
### SM (Scrum Master) Agent
|
||||||
|
|
||||||
|
- Run `sprint-planning` to generate initial status
|
||||||
|
- Create epic contexts (`epic-tech-context`)
|
||||||
|
- Draft stories (`create-story`)
|
||||||
|
- Create story contexts (`story-context`)
|
||||||
|
- Review completed work (`review-story`)
|
||||||
|
- Update status in sprint-status.yaml
|
||||||
|
|
||||||
|
### Developer Agent
|
||||||
|
|
||||||
|
- Check sprint-status.yaml for `ready-for-dev` stories
|
||||||
|
- Update status to `in-progress` when starting
|
||||||
|
- Implement stories (`dev-story`)
|
||||||
|
- Move to `review` when complete
|
||||||
|
- Address review feedback
|
||||||
|
- Update to `done` after approval
|
||||||
|
|
||||||
|
### Test Architect
|
||||||
|
|
||||||
|
- Monitor stories entering `review` status
|
||||||
|
- Track epic progress
|
||||||
|
- Identify when retrospectives needed
|
||||||
|
- Validate implementation quality
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
1. **Always run sprint-planning first** to establish current state
|
||||||
|
2. **Update status immediately** as work progresses
|
||||||
|
3. **Check sprint-status.yaml** before starting any work
|
||||||
|
4. **Preserve learning** by drafting stories sequentially when possible
|
||||||
|
5. **Document decisions** in story and context files
|
||||||
|
|
||||||
|
## Naming Conventions
|
||||||
|
|
||||||
|
### Story File Naming
|
||||||
|
|
||||||
|
- Format: `{epic}-{story}-{kebab-title}.md`
|
||||||
|
- Example: `1-1-user-authentication.md`
|
||||||
|
- Avoids YAML float parsing issues (1.1 vs 1.10)
|
||||||
|
- Makes files self-descriptive
|
||||||
|
|
||||||
|
### Git Branch Naming
|
||||||
|
|
||||||
|
- Format: `feat/{epic}-{story}-{kebab-title}`
|
||||||
|
- Example: `feat/1-1-user-authentication`
|
||||||
|
- Consistent with story file naming
|
||||||
|
- Clean for branch management
|
||||||
|
|
||||||
|
## File Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
{output_folder}/
|
||||||
|
├── sprint-status.yaml # Sprint status tracking
|
||||||
|
├── epic*.md or epics.md # Epic definitions
|
||||||
|
├── epic-1-context.md # Epic technical contexts
|
||||||
|
├── epic-2-context.md
|
||||||
|
└── stories/
|
||||||
|
├── 1-1-user-authentication.md # Story drafts
|
||||||
|
├── 1-1-user-authentication-context.md # Story contexts
|
||||||
|
├── 1-2-account-management.md
|
||||||
|
├── 1-2-account-management-context.md
|
||||||
|
└── ...
|
||||||
|
```
|
||||||
|
|
||||||
|
## Next Steps
|
||||||
|
|
||||||
|
After Phase 4 implementation, projects typically move to:
|
||||||
|
|
||||||
|
- Deployment and release
|
||||||
|
- User acceptance testing
|
||||||
|
- Production monitoring
|
||||||
|
- Maintenance and updates
|
||||||
|
|
||||||
|
The sprint-status.yaml file provides a complete audit trail of the development process and can be used for project reporting and retrospectives.
|
||||||
|
|
@ -136,7 +136,7 @@
|
||||||
**Next Steps:**
|
**Next Steps:**
|
||||||
1. Review the implemented story and test the changes
|
1. Review the implemented story and test the changes
|
||||||
2. Verify all acceptance criteria are met
|
2. Verify all acceptance criteria are met
|
||||||
3. When satisfied, run `story-approved` to mark story complete and advance the queue
|
3. When satisfied, run `story-done` to mark story complete and advance the queue
|
||||||
|
|
||||||
Or check status anytime with: `workflow-status`
|
Or check status anytime with: `workflow-status`
|
||||||
</output>
|
</output>
|
||||||
|
|
|
||||||
|
|
@ -220,7 +220,7 @@ Running in standalone mode - no progress tracking.</output>
|
||||||
**Next Steps:**
|
**Next Steps:**
|
||||||
1. Review the Senior Developer Review notes appended to story
|
1. Review the Senior Developer Review notes appended to story
|
||||||
2. Address any action items or changes requested
|
2. Address any action items or changes requested
|
||||||
3. When ready, run `story-approved` to mark story complete
|
3. When ready, run `story-done` to mark story complete
|
||||||
|
|
||||||
Check status anytime with: `workflow-status`
|
Check status anytime with: `workflow-status`
|
||||||
</output>
|
</output>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,156 @@
|
||||||
|
# Sprint Planning Workflow
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
The sprint-planning workflow generates and manages the sprint status tracking file that serves as the single source of truth for Phase 4 implementation. It extracts all epics and stories from epic files and tracks their progress through the development lifecycle.
|
||||||
|
|
||||||
|
In Agile terminology, this workflow facilitates **Sprint Planning** or **Sprint 0 Kickoff** - the transition from planning/architecture into actual development execution.
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
This workflow creates a `sprint-status.yaml` file that:
|
||||||
|
|
||||||
|
- Lists all epics, stories, and retrospectives in order
|
||||||
|
- Tracks the current status of each item
|
||||||
|
- Provides a clear view of what needs to be worked on next
|
||||||
|
- Ensures only one story is in progress at a time
|
||||||
|
- Maintains the development flow from backlog to done
|
||||||
|
|
||||||
|
## When to Use
|
||||||
|
|
||||||
|
Run this workflow:
|
||||||
|
|
||||||
|
1. **Initially** - After Phase 3 (solutioning) is complete and epics are finalized
|
||||||
|
2. **After epic context creation** - To update epic status to 'contexted'
|
||||||
|
3. **Periodically** - To auto-detect newly created story files
|
||||||
|
4. **For status checks** - To see overall project progress
|
||||||
|
|
||||||
|
## Status State Machine
|
||||||
|
|
||||||
|
### Epic Flow
|
||||||
|
|
||||||
|
```
|
||||||
|
backlog → contexted
|
||||||
|
```
|
||||||
|
|
||||||
|
### Story Flow
|
||||||
|
|
||||||
|
```
|
||||||
|
backlog → drafted → ready-for-dev → in-progress → review → done
|
||||||
|
```
|
||||||
|
|
||||||
|
### Retrospective Flow
|
||||||
|
|
||||||
|
```
|
||||||
|
optional ↔ completed
|
||||||
|
```
|
||||||
|
|
||||||
|
## Key Guidelines
|
||||||
|
|
||||||
|
1. **Epic Context Recommended**: Epics should be `contexted` before their stories can be `drafted`
|
||||||
|
2. **Flexible Parallelism**: Multiple stories can be `in-progress` based on team capacity
|
||||||
|
3. **Sequential Default**: Stories within an epic are typically worked in order, but parallel work is supported
|
||||||
|
4. **Review Flow**: Stories should go through `review` before `done`
|
||||||
|
5. **Learning Transfer**: SM typically drafts next story after previous is `done`, incorporating learnings
|
||||||
|
|
||||||
|
## File Locations
|
||||||
|
|
||||||
|
### Input Files
|
||||||
|
|
||||||
|
- **Epic Files**: `{output_folder}/epic*.md` or `{output_folder}/epics.md`
|
||||||
|
- **Epic Context**: `{output_folder}/epic-{n}-context.md`
|
||||||
|
- **Story Files**: `{story_dir}/{epic}-{story}-{title}.md`
|
||||||
|
- Example: `stories/1-1-user-authentication.md`
|
||||||
|
- **Story Context**: `{story_dir}/{epic}-{story}-{title}-context.md`
|
||||||
|
- Example: `stories/1-1-user-authentication-context.md`
|
||||||
|
|
||||||
|
### Output File
|
||||||
|
|
||||||
|
- **Status File**: `{output_folder}/sprint-status.yaml`
|
||||||
|
|
||||||
|
## Usage by Agents
|
||||||
|
|
||||||
|
### SM (Scrum Master) Agent
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
Tasks:
|
||||||
|
- Check sprint-status.yaml for stories in 'done' status
|
||||||
|
- Identify next 'backlog' story to draft
|
||||||
|
- Run create-story workflow
|
||||||
|
- Update status to 'drafted'
|
||||||
|
- Create story context
|
||||||
|
- Update status to 'ready-for-dev'
|
||||||
|
```
|
||||||
|
|
||||||
|
### Developer Agent
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
Tasks:
|
||||||
|
- Find stories with 'ready-for-dev' status
|
||||||
|
- Update to 'in-progress' when starting
|
||||||
|
- Implement the story
|
||||||
|
- Update to 'review' when complete
|
||||||
|
- Address review feedback
|
||||||
|
- Update to 'done' after review
|
||||||
|
```
|
||||||
|
|
||||||
|
### Test Architect
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
Tasks:
|
||||||
|
- Monitor stories entering 'review'
|
||||||
|
- Track epic progress
|
||||||
|
- Identify when retrospectives are needed
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example Output
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Sprint Status
|
||||||
|
# Generated: 2025-01-20
|
||||||
|
# Project: MyPlantFamily
|
||||||
|
|
||||||
|
development_status:
|
||||||
|
epic-1: contexted
|
||||||
|
1-1-project-foundation: done
|
||||||
|
1-2-app-shell: done
|
||||||
|
1-3-user-authentication: in-progress
|
||||||
|
1-4-plant-data-model: ready-for-dev
|
||||||
|
1-5-add-plant-manual: drafted
|
||||||
|
1-6-photo-identification: backlog
|
||||||
|
epic-1-retrospective: optional
|
||||||
|
|
||||||
|
epic-2: contexted
|
||||||
|
2-1-personality-system: in-progress
|
||||||
|
2-2-chat-interface: drafted
|
||||||
|
2-3-llm-integration: backlog
|
||||||
|
2-4-reminder-system: backlog
|
||||||
|
epic-2-retrospective: optional
|
||||||
|
```
|
||||||
|
|
||||||
|
## Integration with BMM Workflow
|
||||||
|
|
||||||
|
This workflow is part of Phase 4 (Implementation) and integrates with:
|
||||||
|
|
||||||
|
1. **epic-tech-context** - Creates technical context for epics
|
||||||
|
2. **create-story** - Drafts individual story files
|
||||||
|
3. **story-context** - Adds implementation context to stories
|
||||||
|
4. **dev-story** - Developer implements the story
|
||||||
|
5. **review-story** - SM reviews implementation
|
||||||
|
6. **retrospective** - Optional epic retrospective
|
||||||
|
|
||||||
|
## Benefits
|
||||||
|
|
||||||
|
- **Clear Visibility**: Everyone knows what's being worked on
|
||||||
|
- **Flexible Capacity**: Supports both sequential and parallel work patterns
|
||||||
|
- **Learning Transfer**: SM can incorporate learnings when drafting next story
|
||||||
|
- **Progress Tracking**: Easy to see overall project status
|
||||||
|
- **Automation Friendly**: Simple YAML format for agent updates
|
||||||
|
|
||||||
|
## Tips
|
||||||
|
|
||||||
|
1. **Initial Generation**: Run immediately after epics are finalized
|
||||||
|
2. **Regular Updates**: Agents should update status as they work
|
||||||
|
3. **Manual Override**: You can manually edit the file if needed
|
||||||
|
4. **Backup First**: The workflow backs up existing status before regenerating
|
||||||
|
5. **Validation**: The workflow validates legal status transitions
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Sprint Planning Validation Checklist
|
||||||
|
|
||||||
|
## Core Validation
|
||||||
|
|
||||||
|
### Complete Coverage Check
|
||||||
|
|
||||||
|
- [ ] Every epic found in epic\*.md files appears in sprint-status.yaml
|
||||||
|
- [ ] Every story found in epic\*.md files appears in sprint-status.yaml
|
||||||
|
- [ ] Every epic has a corresponding retrospective entry
|
||||||
|
- [ ] No items in sprint-status.yaml that don't exist in epic files
|
||||||
|
|
||||||
|
### Parsing Verification
|
||||||
|
|
||||||
|
Compare epic files against generated sprint-status.yaml:
|
||||||
|
|
||||||
|
```
|
||||||
|
Epic Files Contains: Sprint Status Contains:
|
||||||
|
✓ Epic 1 ✓ epic-1: [status]
|
||||||
|
✓ Story 1.1: User Auth ✓ 1-1-user-auth: [status]
|
||||||
|
✓ Story 1.2: Account Mgmt ✓ 1-2-account-mgmt: [status]
|
||||||
|
✓ Story 1.3: Plant Naming ✓ 1-3-plant-naming: [status]
|
||||||
|
✓ epic-1-retrospective: [status]
|
||||||
|
✓ Epic 2 ✓ epic-2: [status]
|
||||||
|
✓ Story 2.1: Personality Model ✓ 2-1-personality-model: [status]
|
||||||
|
✓ Story 2.2: Chat Interface ✓ 2-2-chat-interface: [status]
|
||||||
|
✓ epic-2-retrospective: [status]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Final Check
|
||||||
|
|
||||||
|
- [ ] Total count of epics matches
|
||||||
|
- [ ] Total count of stories matches
|
||||||
|
- [ ] All items are in the expected order (epic, stories, retrospective)
|
||||||
|
|
@ -0,0 +1,192 @@
|
||||||
|
# Sprint Planning - Sprint Status Generator
|
||||||
|
|
||||||
|
<critical>The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml</critical>
|
||||||
|
<critical>You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml</critical>
|
||||||
|
|
||||||
|
<workflow>
|
||||||
|
|
||||||
|
<step n="1" goal="Parse epic files and extract all work items">
|
||||||
|
<action>Communicate in {communication_language} with {user_name}</action>
|
||||||
|
<action>Look for all files matching `{epics_pattern}` in {epics_location}</action>
|
||||||
|
<action>Could be a single `epics.md` file or multiple `epic-1.md`, `epic-2.md` files</action>
|
||||||
|
|
||||||
|
<action>For each epic file found, extract:</action>
|
||||||
|
|
||||||
|
- Epic numbers from headers like `## Epic 1:` or `## Epic 2:`
|
||||||
|
- Story IDs and titles from patterns like `### Story 1.1: User Authentication`
|
||||||
|
- Convert story format from `Epic.Story: Title` to kebab-case key: `epic-story-title`
|
||||||
|
|
||||||
|
**Story ID Conversion Rules:**
|
||||||
|
|
||||||
|
- Original: `### Story 1.1: User Authentication`
|
||||||
|
- Replace period with dash: `1-1`
|
||||||
|
- Convert title to kebab-case: `user-authentication`
|
||||||
|
- Final key: `1-1-user-authentication`
|
||||||
|
|
||||||
|
<action>Build complete inventory of all epics and stories from all epic files</action>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step n="2" goal="Build sprint status structure">
|
||||||
|
<action>For each epic found, create entries in this order:</action>
|
||||||
|
|
||||||
|
1. **Epic entry** - Key: `epic-{num}`, Default status: `backlog`
|
||||||
|
2. **Story entries** - Key: `{epic}-{story}-{title}`, Default status: `backlog`
|
||||||
|
3. **Retrospective entry** - Key: `epic-{num}-retrospective`, Default status: `optional`
|
||||||
|
|
||||||
|
**Example structure:**
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
development_status:
|
||||||
|
epic-1: backlog
|
||||||
|
1-1-user-authentication: backlog
|
||||||
|
1-2-account-management: backlog
|
||||||
|
epic-1-retrospective: optional
|
||||||
|
```
|
||||||
|
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step n="3" goal="Apply intelligent status detection">
|
||||||
|
<action>For each epic, check if tech context file exists:</action>
|
||||||
|
|
||||||
|
- Check: `{output_folder}/epic-{num}-context.md`
|
||||||
|
- If exists → set epic status to `contexted`
|
||||||
|
- Else → keep as `backlog`
|
||||||
|
|
||||||
|
<action>For each story, detect current status by checking files:</action>
|
||||||
|
|
||||||
|
**Story file detection:**
|
||||||
|
|
||||||
|
- Check: `{story_dir}/{story-key}.md` (e.g., `stories/1-1-user-authentication.md`)
|
||||||
|
- If exists → upgrade status to at least `drafted`
|
||||||
|
|
||||||
|
**Story context detection:**
|
||||||
|
|
||||||
|
- Check: `{story_dir}/{story-key}-context.md` (e.g., `stories/1-1-user-authentication-context.md`)
|
||||||
|
- If exists → upgrade status to at least `ready-for-dev`
|
||||||
|
|
||||||
|
**Preservation rule:**
|
||||||
|
|
||||||
|
- If existing `{status_file}` exists and has more advanced status, preserve it
|
||||||
|
- Never downgrade status (e.g., don't change `done` to `drafted`)
|
||||||
|
|
||||||
|
**Status Flow Reference:**
|
||||||
|
|
||||||
|
- Epic: `backlog` → `contexted`
|
||||||
|
- Story: `backlog` → `drafted` → `ready-for-dev` → `in-progress` → `review` → `done`
|
||||||
|
- Retrospective: `optional` ↔ `completed`
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step n="4" goal="Generate sprint status file">
|
||||||
|
<action>Create or update {status_file} with:</action>
|
||||||
|
|
||||||
|
**File Header:**
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Sprint Status - Generated {date}
|
||||||
|
# Project: {project_name}
|
||||||
|
# Status Definitions:
|
||||||
|
# Epic: backlog → contexted
|
||||||
|
# Story: backlog → drafted → ready-for-dev → in-progress → review → done
|
||||||
|
# Retrospective: optional → completed
|
||||||
|
```
|
||||||
|
|
||||||
|
**Development Status Section:**
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
development_status:
|
||||||
|
# All epics, stories, and retrospectives in order
|
||||||
|
```
|
||||||
|
|
||||||
|
<action>Write the complete sprint status YAML to {status_file}</action>
|
||||||
|
<action>Ensure all items are ordered: epic, its stories, its retrospective, next epic...</action>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step n="5" goal="Validate and report">
|
||||||
|
<action>Perform validation checks:</action>
|
||||||
|
|
||||||
|
- [ ] Every epic in epic files appears in sprint-status.yaml
|
||||||
|
- [ ] Every story in epic files appears in sprint-status.yaml
|
||||||
|
- [ ] Every epic has a corresponding retrospective entry
|
||||||
|
- [ ] No items in sprint-status.yaml that don't exist in epic files
|
||||||
|
- [ ] All status values are legal (match state machine definitions)
|
||||||
|
- [ ] File is valid YAML syntax
|
||||||
|
|
||||||
|
<action>Count totals:</action>
|
||||||
|
|
||||||
|
- Total epics: {{epic_count}}
|
||||||
|
- Total stories: {{story_count}}
|
||||||
|
- Epics contexted: {{contexted_count}}
|
||||||
|
- Stories in progress: {{in_progress_count}}
|
||||||
|
- Stories done: {{done_count}}
|
||||||
|
|
||||||
|
<action>Display completion summary to {user_name} in {communication_language}:</action>
|
||||||
|
|
||||||
|
**Sprint Status Generated Successfully**
|
||||||
|
|
||||||
|
- **File Location:** {status_file}
|
||||||
|
- **Total Epics:** {{epic_count}}
|
||||||
|
- **Total Stories:** {{story_count}}
|
||||||
|
- **Contexted Epics:** {{contexted_count}}
|
||||||
|
- **Stories In Progress:** {{in_progress_count}}
|
||||||
|
- **Stories Completed:** {{done_count}}
|
||||||
|
|
||||||
|
**Next Steps:**
|
||||||
|
|
||||||
|
1. Review the generated sprint-status.yaml
|
||||||
|
2. Use this file to track development progress
|
||||||
|
3. Agents will update statuses as they work
|
||||||
|
4. Re-run this workflow to refresh auto-detected statuses
|
||||||
|
|
||||||
|
</step>
|
||||||
|
|
||||||
|
</workflow>
|
||||||
|
|
||||||
|
## Additional Documentation
|
||||||
|
|
||||||
|
### Status State Machine
|
||||||
|
|
||||||
|
**Epic Status Flow:**
|
||||||
|
|
||||||
|
```
|
||||||
|
backlog → contexted
|
||||||
|
```
|
||||||
|
|
||||||
|
- **backlog**: Epic exists in epic file but tech context not created
|
||||||
|
- **contexted**: Epic tech context has been generated (prerequisite for story drafting)
|
||||||
|
|
||||||
|
**Story Status Flow:**
|
||||||
|
|
||||||
|
```
|
||||||
|
backlog → drafted → ready-for-dev → in-progress → review → done
|
||||||
|
```
|
||||||
|
|
||||||
|
- **backlog**: Story only exists in epic file
|
||||||
|
- **drafted**: Story file created (e.g., `stories/1-3-plant-naming.md`)
|
||||||
|
- **ready-for-dev**: Draft approved + story context created
|
||||||
|
- **in-progress**: Developer actively working
|
||||||
|
- **review**: Under SM review (via review-story workflow)
|
||||||
|
- **done**: Completed
|
||||||
|
|
||||||
|
**Retrospective Status:**
|
||||||
|
|
||||||
|
```
|
||||||
|
optional ↔ completed
|
||||||
|
```
|
||||||
|
|
||||||
|
- **optional**: Can be done but not required
|
||||||
|
- **completed**: Retrospective has been completed
|
||||||
|
|
||||||
|
### Guidelines
|
||||||
|
|
||||||
|
1. **Epic Context Recommended**: Epics should be `contexted` before stories can be `drafted`
|
||||||
|
2. **Sequential Default**: Stories are typically worked in order, but parallel work is supported
|
||||||
|
3. **Parallel Work Supported**: Multiple stories can be `in-progress` if team capacity allows
|
||||||
|
4. **Review Before Done**: Stories should pass through `review` before `done`
|
||||||
|
5. **Learning Transfer**: SM typically drafts next story after previous one is `done` to incorporate learnings
|
||||||
|
|
||||||
|
### Error Handling
|
||||||
|
|
||||||
|
- If epic file can't be parsed, report specific file and continue with others
|
||||||
|
- If existing status file is malformed, backup and regenerate
|
||||||
|
- Log warnings for duplicate story IDs across epics
|
||||||
|
- Validate status transitions are legal (can't go from `backlog` to `done`)
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
# Sprint Status Template
|
||||||
|
# This is an EXAMPLE showing the expected format
|
||||||
|
# The actual file will be generated with all epics/stories from your epic files
|
||||||
|
#
|
||||||
|
# Generated: {date}
|
||||||
|
# Project: {project_name}
|
||||||
|
# Language: {document_output_language}
|
||||||
|
#
|
||||||
|
# STATUS DEFINITIONS:
|
||||||
|
# ==================
|
||||||
|
# Epic Status:
|
||||||
|
# - backlog: Epic exists in epic file but not contexted
|
||||||
|
# - contexted: Epic tech context created (required before drafting stories)
|
||||||
|
#
|
||||||
|
# Story Status:
|
||||||
|
# - backlog: Story only exists in epic file
|
||||||
|
# - drafted: Story file created in stories folder
|
||||||
|
# - ready-for-dev: Draft approved and story context created
|
||||||
|
# - in-progress: Developer actively working on implementation
|
||||||
|
# - review: Under SM review (via review-story workflow)
|
||||||
|
# - done: Story completed
|
||||||
|
#
|
||||||
|
# Retrospective Status:
|
||||||
|
# - optional: Can be completed but not required
|
||||||
|
# - completed: Retrospective has been done
|
||||||
|
#
|
||||||
|
# WORKFLOW NOTES:
|
||||||
|
# ===============
|
||||||
|
# - Epics should be 'contexted' before stories can be 'drafted'
|
||||||
|
# - Stories can be worked in parallel if team capacity allows
|
||||||
|
# - SM typically drafts next story after previous one is 'done' to incorporate learnings
|
||||||
|
# - Dev moves story to 'review', SM reviews, then Dev moves to 'done'
|
||||||
|
|
||||||
|
# EXAMPLE STRUCTURE (your actual epics/stories will replace these):
|
||||||
|
development_status:
|
||||||
|
epic-1: contexted
|
||||||
|
1-1-user-authentication: done
|
||||||
|
1-2-account-management: drafted
|
||||||
|
1-3-plant-data-model: backlog
|
||||||
|
1-4-add-plant-manual: backlog
|
||||||
|
epic-1-retrospective: optional
|
||||||
|
|
||||||
|
epic-2: backlog
|
||||||
|
2-1-personality-system: backlog
|
||||||
|
2-2-chat-interface: backlog
|
||||||
|
2-3-llm-integration: backlog
|
||||||
|
epic-2-retrospective: optional
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
name: sprint-planning
|
||||||
|
description: "Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle"
|
||||||
|
author: "BMad"
|
||||||
|
|
||||||
|
# Critical variables from config
|
||||||
|
config_source: "{project-root}/bmad/bmm/config.yaml"
|
||||||
|
output_folder: "{config_source}:output_folder"
|
||||||
|
user_name: "{config_source}:user_name"
|
||||||
|
communication_language: "{config_source}:communication_language"
|
||||||
|
document_output_language: "{config_source}:document_output_language"
|
||||||
|
date: system-generated
|
||||||
|
|
||||||
|
# Workflow components
|
||||||
|
installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/sprint-planning"
|
||||||
|
instructions: "{installed_path}/instructions.md"
|
||||||
|
template: "{installed_path}/sprint-status-template.yaml"
|
||||||
|
validation: "{installed_path}/checklist.md"
|
||||||
|
|
||||||
|
# Variables and inputs
|
||||||
|
variables:
|
||||||
|
# Project identification
|
||||||
|
project_name: "{config_source}:project_name"
|
||||||
|
|
||||||
|
# Source files
|
||||||
|
epics_location: "{output_folder}" # Directory containing epic*.md files
|
||||||
|
epics_pattern: "epic*.md" # Pattern to find epic files
|
||||||
|
|
||||||
|
# Output configuration
|
||||||
|
status_file: "{output_folder}/sprint-status.yaml"
|
||||||
|
|
||||||
|
# Story locations
|
||||||
|
story_dir: "{config_source}:dev_story_location" # Where story files are created
|
||||||
|
|
||||||
|
# Output configuration
|
||||||
|
default_output_file: "{status_file}"
|
||||||
|
|
||||||
|
web_bundle: false
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
# Story Approved Workflow (DEV Agent)
|
# Story Done Workflow (DEV Agent)
|
||||||
name: story-approved
|
name: story-done
|
||||||
description: "Marks a story as done (DoD complete) and moves it from IN PROGRESS → DONE in the status file. Advances the story queue. Simple status-update workflow with no searching required."
|
description: "Marks a story as done (DoD complete) and moves it from IN PROGRESS → DONE in the status file. Advances the story queue. Simple status-update workflow with no searching required."
|
||||||
author: "BMad"
|
author: "BMad"
|
||||||
|
|
||||||
|
|
@ -13,7 +13,7 @@ user_skill_level: "{config_source}:user_skill_level"
|
||||||
date: system-generated
|
date: system-generated
|
||||||
|
|
||||||
# Workflow components
|
# Workflow components
|
||||||
installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/story-approved"
|
installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/story-done"
|
||||||
instructions: "{installed_path}/instructions.md"
|
instructions: "{installed_path}/instructions.md"
|
||||||
|
|
||||||
# Variables and inputs
|
# Variables and inputs
|
||||||
|
|
@ -250,7 +250,7 @@ BACKLOG → TODO → IN PROGRESS → DONE
|
||||||
- Story status is "Ready" or "In Review"
|
- Story status is "Ready" or "In Review"
|
||||||
|
|
||||||
- **DONE**: Completed stories with dates and points
|
- **DONE**: Completed stories with dates and points
|
||||||
- Moved here by `story-approved` workflow after DoD complete
|
- Moved here by `story-done` workflow after DoD complete
|
||||||
- Immutable record of completed work
|
- Immutable record of completed work
|
||||||
|
|
||||||
**Key Innovation**: Agents never search for "next story" - they always read the exact story from the status file.
|
**Key Innovation**: Agents never search for "next story" - they always read the exact story from the status file.
|
||||||
|
|
@ -294,7 +294,7 @@ Phase Transition (Phase 2 or 3 → Phase 4)
|
||||||
┌─────────────────────────────────────────────────┐
|
┌─────────────────────────────────────────────────┐
|
||||||
│ User reviews implementation (DoD check) │
|
│ User reviews implementation (DoD check) │
|
||||||
│ ↓ │
|
│ ↓ │
|
||||||
│ DEV: story-approved (marks story done) │
|
│ DEV: story-done (marks story done) │
|
||||||
│ Actions: IN PROGRESS → DONE │
|
│ Actions: IN PROGRESS → DONE │
|
||||||
│ TODO → IN PROGRESS (if exists) │
|
│ TODO → IN PROGRESS (if exists) │
|
||||||
│ BACKLOG → TODO (if exists) │
|
│ BACKLOG → TODO (if exists) │
|
||||||
|
|
@ -319,7 +319,7 @@ Phase Transition (Phase 2 or 3 → Phase 4)
|
||||||
| **story-ready** | SM | Approve drafted story for development | TODO → IN PROGRESS | Reads TODO section |
|
| **story-ready** | SM | Approve drafted story for development | TODO → IN PROGRESS | Reads TODO section |
|
||||||
| **story-context** | SM | Generate expertise injection XML | (No state change) | Reads IN PROGRESS |
|
| **story-context** | SM | Generate expertise injection XML | (No state change) | Reads IN PROGRESS |
|
||||||
| **dev-story** | DEV | Implement story | (No state change) | Reads IN PROGRESS |
|
| **dev-story** | DEV | Implement story | (No state change) | Reads IN PROGRESS |
|
||||||
| **story-approved** | DEV | Mark story done after DoD complete | IN PROGRESS → DONE | Reads IN PROGRESS |
|
| **story-done** | DEV | Mark story done after DoD complete | IN PROGRESS → DONE | Reads IN PROGRESS |
|
||||||
| **review-story** | SR/DEV | Quality validation (optional) | (No state change) | Manual story selection |
|
| **review-story** | SR/DEV | Quality validation (optional) | (No state change) | Manual story selection |
|
||||||
| **correct-course** | SM | Handle issues/changes | (Adaptive) | Manual story selection |
|
| **correct-course** | SM | Handle issues/changes | (Adaptive) | Manual story selection |
|
||||||
| **retrospective** | SM | Capture epic learnings | (No state change) | Manual or epic-triggered |
|
| **retrospective** | SM | Capture epic learnings | (No state change) | Manual or epic-triggered |
|
||||||
|
|
@ -335,7 +335,7 @@ Status: Ready (User approved via story-ready, ready for implementation)
|
||||||
↓
|
↓
|
||||||
Status: In Review (Implementation complete, awaiting final approval)
|
Status: In Review (Implementation complete, awaiting final approval)
|
||||||
↓
|
↓
|
||||||
Status: Done (User approved via story-approved, DoD complete)
|
Status: Done (User approved via story-done, DoD complete)
|
||||||
```
|
```
|
||||||
|
|
||||||
**Status File Position vs Story File Status:**
|
**Status File Position vs Story File Status:**
|
||||||
|
|
@ -483,7 +483,7 @@ bmad sm create-story # Draft story from TODO section
|
||||||
bmad sm story-ready # Approve story for development (after user review)
|
bmad sm story-ready # Approve story for development (after user review)
|
||||||
bmad sm story-context # Generate context XML (optional but recommended)
|
bmad sm story-context # Generate context XML (optional but recommended)
|
||||||
bmad dev dev-story # Implement story from IN PROGRESS section
|
bmad dev dev-story # Implement story from IN PROGRESS section
|
||||||
bmad dev story-approved # Mark story done (after user confirms DoD)
|
bmad dev story-done # Mark story done (after user confirms DoD)
|
||||||
bmad dev review-story # Quality validation (optional)
|
bmad dev review-story # Quality validation (optional)
|
||||||
bmad sm correct-course # If issues arise
|
bmad sm correct-course # If issues arise
|
||||||
bmad sm retrospective # After epic complete
|
bmad sm retrospective # After epic complete
|
||||||
|
|
|
||||||
|
|
@ -664,7 +664,7 @@ npm run test:e2e -- user-authentication.spec.ts --debug
|
||||||
2. Run failing tests to confirm RED phase: `npm run test:e2e`
|
2. Run failing tests to confirm RED phase: `npm run test:e2e`
|
||||||
3. Begin implementation using checklist as guide
|
3. Begin implementation using checklist as guide
|
||||||
4. Share progress in daily standup
|
4. Share progress in daily standup
|
||||||
5. When all tests pass, run `bmad sm story-approved` to move story to DONE
|
5. When all tests pass, run `bmad sm story-done` to move story to DONE
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -296,7 +296,7 @@ test('should do something', async ({ {fixtureName} }) => {
|
||||||
4. **Work one test at a time** (red → green for each)
|
4. **Work one test at a time** (red → green for each)
|
||||||
5. **Share progress** in daily standup
|
5. **Share progress** in daily standup
|
||||||
6. **When all tests pass**, refactor code for quality
|
6. **When all tests pass**, refactor code for quality
|
||||||
7. **When refactoring complete**, run `bmad sm story-approved` to move story to DONE
|
7. **When refactoring complete**, run `bmad sm story-done` to move story to DONE
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -786,7 +786,7 @@ Use for: Alpha/beta releases, internal tools, proof-of-concept
|
||||||
- `bmad tea *automate` - Expand regression suite based on gaps
|
- `bmad tea *automate` - Expand regression suite based on gaps
|
||||||
- `bmad tea *nfr-assess` - Validate non-functional requirements (for gate)
|
- `bmad tea *nfr-assess` - Validate non-functional requirements (for gate)
|
||||||
- `bmad tea *test-review` - Review test quality issues flagged by trace
|
- `bmad tea *test-review` - Review test quality issues flagged by trace
|
||||||
- `bmad sm story-approved` - Mark story as complete (triggers gate)
|
- `bmad sm story-done` - Mark story as complete (triggers gate)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -58,10 +58,10 @@ phases:
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "dev-story"
|
command: "dev-story"
|
||||||
- id: "story-approved"
|
- id: "story-done"
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "story-approved"
|
command: "story-done"
|
||||||
|
|
||||||
story_naming: "story-<short-title>.md"
|
story_naming: "story-<short-title>.md"
|
||||||
story_example: "story-fix-auth-bug.md"
|
story_example: "story-fix-auth-bug.md"
|
||||||
|
|
|
||||||
|
|
@ -66,10 +66,10 @@ phases:
|
||||||
optional: true
|
optional: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "review-story"
|
command: "review-story"
|
||||||
- id: "story-approved"
|
- id: "story-done"
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "story-approved"
|
command: "story-done"
|
||||||
|
|
||||||
story_naming: "story-<short-title>.md"
|
story_naming: "story-<short-title>.md"
|
||||||
story_example: "story-add-auth.md, story-update-dashboard.md"
|
story_example: "story-add-auth.md, story-update-dashboard.md"
|
||||||
|
|
|
||||||
|
|
@ -84,10 +84,10 @@ phases:
|
||||||
recommended: true
|
recommended: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "review-story"
|
command: "review-story"
|
||||||
- id: "story-approved"
|
- id: "story-done"
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "story-approved"
|
command: "story-done"
|
||||||
|
|
||||||
story_naming: "story-<short-title>.md"
|
story_naming: "story-<short-title>.md"
|
||||||
story_example: "story-user-dashboard.md, story-api-integration.md"
|
story_example: "story-user-dashboard.md, story-api-integration.md"
|
||||||
|
|
|
||||||
|
|
@ -117,10 +117,10 @@ phases:
|
||||||
conditional: "if_review_fails"
|
conditional: "if_review_fails"
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "correct-course"
|
command: "correct-course"
|
||||||
- id: "story-approved"
|
- id: "story-done"
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "story-approved"
|
command: "story-done"
|
||||||
epic_completion:
|
epic_completion:
|
||||||
- id: "integration-test"
|
- id: "integration-test"
|
||||||
required: true
|
required: true
|
||||||
|
|
|
||||||
|
|
@ -115,10 +115,10 @@ phases:
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "integration-test"
|
command: "integration-test"
|
||||||
note: "Test integration with existing systems"
|
note: "Test integration with existing systems"
|
||||||
- id: "story-approved"
|
- id: "story-done"
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "story-approved"
|
command: "story-done"
|
||||||
epic_completion:
|
epic_completion:
|
||||||
- id: "retrospective"
|
- id: "retrospective"
|
||||||
required: true
|
required: true
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ phases:
|
||||||
- id: "dev-story"
|
- id: "dev-story"
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
- id: "story-approved"
|
- id: "story-done"
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
level_2_4:
|
level_2_4:
|
||||||
|
|
@ -99,7 +99,7 @@ phases:
|
||||||
- id: "review-story"
|
- id: "review-story"
|
||||||
recommended: true
|
recommended: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
- id: "story-approved"
|
- id: "story-done"
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
feature_completion:
|
feature_completion:
|
||||||
|
|
|
||||||
|
|
@ -50,10 +50,10 @@ phases:
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "dev-story"
|
command: "dev-story"
|
||||||
- id: "story-approved"
|
- id: "story-done"
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "story-approved"
|
command: "story-done"
|
||||||
|
|
||||||
story_naming: "story-<short-title>.md"
|
story_naming: "story-<short-title>.md"
|
||||||
story_example: "story-fix-login.md"
|
story_example: "story-fix-login.md"
|
||||||
|
|
|
||||||
|
|
@ -63,10 +63,10 @@ phases:
|
||||||
optional: true
|
optional: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "review-story"
|
command: "review-story"
|
||||||
- id: "story-approved"
|
- id: "story-done"
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "story-approved"
|
command: "story-done"
|
||||||
|
|
||||||
story_naming: "story-<title>-<n>.md"
|
story_naming: "story-<title>-<n>.md"
|
||||||
story_example: "story-oauth-integration-1.md"
|
story_example: "story-oauth-integration-1.md"
|
||||||
|
|
|
||||||
|
|
@ -88,10 +88,10 @@ phases:
|
||||||
optional: true
|
optional: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "review-story"
|
command: "review-story"
|
||||||
- id: "story-approved"
|
- id: "story-done"
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "story-approved"
|
command: "story-done"
|
||||||
epic_completion:
|
epic_completion:
|
||||||
- id: "retrospective"
|
- id: "retrospective"
|
||||||
optional: true
|
optional: true
|
||||||
|
|
|
||||||
|
|
@ -94,10 +94,10 @@ phases:
|
||||||
conditional: "if_review_fails"
|
conditional: "if_review_fails"
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "correct-course"
|
command: "correct-course"
|
||||||
- id: "story-approved"
|
- id: "story-done"
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "story-approved"
|
command: "story-done"
|
||||||
epic_completion:
|
epic_completion:
|
||||||
- id: "retrospective"
|
- id: "retrospective"
|
||||||
recommended: true
|
recommended: true
|
||||||
|
|
|
||||||
|
|
@ -96,10 +96,10 @@ phases:
|
||||||
conditional: "if_review_fails"
|
conditional: "if_review_fails"
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "correct-course"
|
command: "correct-course"
|
||||||
- id: "story-approved"
|
- id: "story-done"
|
||||||
required: true
|
required: true
|
||||||
agent: "dev"
|
agent: "dev"
|
||||||
command: "story-approved"
|
command: "story-done"
|
||||||
epic_completion:
|
epic_completion:
|
||||||
- id: "retrospective"
|
- id: "retrospective"
|
||||||
required: true
|
required: true
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue