392 lines
12 KiB
Markdown
392 lines
12 KiB
Markdown
# /sdd:project-brief
|
|
|
|
## Meta
|
|
- Version: 2.0
|
|
- Category: project-planning
|
|
- Complexity: high
|
|
- Purpose: Creates comprehensive project briefs with intelligent story breakdown and version management
|
|
|
|
## Definition
|
|
**Purpose**: Generate comprehensive project briefs that intelligently break down complex features into multiple related stories, building upon existing project context when available.
|
|
|
|
**Syntax**: `/sdd:project-brief [project_title]`
|
|
|
|
## Parameters
|
|
| Parameter | Type | Required | Default | Description | Validation |
|
|
|-----------|------|----------|---------|-------------|------------|
|
|
| project_title | string | No | prompted | Name of the project or feature set | Non-empty string |
|
|
|
|
## INSTRUCTION: Create Comprehensive Project Brief
|
|
|
|
### INPUTS
|
|
- project_title: Project or feature name (prompted if not provided)
|
|
- Existing project context files (if present):
|
|
- `/docs/project-context/project-brief.md` (current brief)
|
|
- `/docs/project-context/story-relationships.md` (story dependencies)
|
|
- `/docs/project-context/versions/` (historical versions)
|
|
|
|
### PROCESS
|
|
|
|
#### Phase 1: Version Management & Context Loading
|
|
1. CHECK for existing project brief at `/docs/project-context/project-brief.md`
|
|
2. IF exists:
|
|
- CREATE `/docs/project-context/versions/` directory if not present
|
|
- ADD `.gitkeep` file to versions directory
|
|
- GENERATE timestamp in format YYYYMMDD-HHMMSS
|
|
- MOVE existing brief to `/docs/project-context/versions/project-brief-v[N]-[timestamp].md`
|
|
- PARSE existing brief to extract:
|
|
* Current stories and their status
|
|
* Timeline and milestones
|
|
* Project objectives
|
|
* Stakeholder information
|
|
- LOG version backup location
|
|
3. CHECK for existing `/docs/project-context/story-relationships.md`
|
|
4. IF exists:
|
|
- MOVE to `/docs/project-context/versions/story-relationships-v[N]-[timestamp].md`
|
|
5. LOAD existing context to build upon (don't start from scratch)
|
|
|
|
#### Phase 2: Requirements Gathering
|
|
1. IF project_title not provided:
|
|
- PROMPT: "What is the title of this project?"
|
|
- VALIDATE: Non-empty string
|
|
- SET project_title from response
|
|
|
|
2. IF existing brief found:
|
|
- REVIEW existing objectives and expand/refine them
|
|
- ANALYZE existing stakeholders and identify new ones
|
|
- EXAMINE existing features and find gaps or enhancements
|
|
- UPDATE technical constraints based on current context
|
|
- ENHANCE existing success criteria with new metrics
|
|
|
|
3. ELSE (no existing brief):
|
|
- GATHER initial requirements by asking:
|
|
* "What is the high-level goal of this project?"
|
|
* "Who are the primary users/stakeholders?"
|
|
* "What are the core features that must be delivered?"
|
|
* "What are nice-to-have enhancements?"
|
|
* "Are there any technical constraints or dependencies?"
|
|
* "What are the success criteria?"
|
|
|
|
#### Phase 3: Intelligent Story Breakdown
|
|
1. ANALYZE requirements to identify:
|
|
- Core functionality (must-have stories)
|
|
- Enhancement features (should-have stories)
|
|
- Future considerations (could-have stories)
|
|
|
|
2. FOR EACH identified story:
|
|
- DEFINE detailed description of what the story accomplishes
|
|
- SPECIFY user scenarios and use cases
|
|
- DOCUMENT technical implementation requirements
|
|
- CREATE acceptance criteria with clear pass/fail conditions
|
|
- IDENTIFY edge cases and error handling requirements
|
|
- NOTE UI/UX considerations (if applicable)
|
|
- LIST testing requirements and test scenarios
|
|
- MAP integration points with other stories or systems
|
|
|
|
3. DETERMINE logical dependencies between stories
|
|
4. ESTIMATE relative effort using scale: S / M / L / XL
|
|
|
|
#### Phase 4: Project Brief Creation
|
|
1. GENERATE project brief content using project brief template
|
|
2. INCLUDE sections:
|
|
- Project Overview
|
|
- Objectives (built upon existing if applicable)
|
|
- Stakeholders
|
|
- Core Features
|
|
- Story Breakdown (with comprehensive details)
|
|
- Dependencies
|
|
- Timeline (if applicable)
|
|
- Success Criteria
|
|
|
|
3. WRITE to `/docs/project-context/project-brief.md`
|
|
- ⚠️ MANDATORY: File MUST be at `/docs/project-context/project-brief.md`
|
|
- ⚠️ MANDATORY: Do NOT create individual story files in `/docs/stories/development/`
|
|
|
|
#### Phase 5: Story Relationships File (OPTIONAL)
|
|
1. IF stories have dependencies:
|
|
- CREATE `/docs/project-context/story-relationships.md`
|
|
- INCLUDE sections:
|
|
* Dependency Graph (ASCII diagram)
|
|
* Story Priority Matrix (table format)
|
|
* Implementation Order (phased breakdown)
|
|
|
|
2. FORMAT Story Priority Matrix:
|
|
```markdown
|
|
| Story ID | Title | Priority | Dependencies | Effort | Status |
|
|
|----------|-------|----------|--------------|--------|--------|
|
|
| STORY-XX | ... | Core | None | M | development |
|
|
| STORY-YY | ... | Core | STORY-XX | L | backlog |
|
|
```
|
|
|
|
3. GROUP stories by implementation phase:
|
|
- Phase 1 (Core): Foundation stories
|
|
- Phase 2 (Enhancement): Feature expansions
|
|
- Phase 3 (Polish): Nice-to-have improvements
|
|
|
|
#### Phase 6: Summary & Next Steps
|
|
1. DISPLAY summary report:
|
|
```
|
|
✅ Project Brief Created
|
|
═══════════════════════════════════
|
|
Project: [project_title]
|
|
Brief Location: /docs/project-context/project-brief.md
|
|
Relationships: /docs/project-context/story-relationships.md
|
|
|
|
Stories Identified: [count]
|
|
- Core Stories: [count]
|
|
- Enhancement Stories: [count]
|
|
- Future Stories: [count]
|
|
|
|
Dependencies: [count] identified
|
|
Implementation Phases: [count]
|
|
```
|
|
|
|
2. SUGGEST next steps:
|
|
- Run `/sdd:project-init` to set up development environment
|
|
- Use `/sdd:story-new` to start with core stories
|
|
- Follow suggested implementation order from story-relationships.md
|
|
|
|
### OUTPUTS
|
|
- `/docs/project-context/project-brief.md` - Comprehensive project brief
|
|
- `/docs/project-context/story-relationships.md` - Story dependencies and implementation order (if applicable)
|
|
- `/docs/project-context/versions/project-brief-v[N]-[timestamp].md` - Versioned backup (if updating existing)
|
|
- `/docs/project-context/versions/story-relationships-v[N]-[timestamp].md` - Versioned relationships backup (if exists)
|
|
|
|
### RULES
|
|
- MUST complete version backup before modifying existing files
|
|
- MUST preserve all existing project context when building upon it
|
|
- NEVER create individual story files in `/docs/stories/development/` directory
|
|
- ALWAYS create comprehensive story definitions with all required elements
|
|
- SHOULD use existing project context as foundation, not start from scratch
|
|
- MUST include acceptance criteria for every story
|
|
- MUST document dependencies between related stories
|
|
- ALWAYS provide implementation order recommendations
|
|
|
|
## Story Definition Requirements
|
|
|
|
Each story MUST include:
|
|
|
|
1. **Detailed Description**
|
|
- What the story accomplishes
|
|
- Why it's needed (business value)
|
|
|
|
2. **User Scenarios**
|
|
- Specific use cases
|
|
- User workflows affected
|
|
|
|
3. **Technical Requirements**
|
|
- Implementation approach
|
|
- Technology choices
|
|
- Architecture considerations
|
|
|
|
4. **Acceptance Criteria**
|
|
- Clear pass/fail conditions
|
|
- Testable requirements
|
|
- Definition of "done"
|
|
|
|
5. **Edge Cases & Error Handling**
|
|
- Boundary conditions
|
|
- Failure scenarios
|
|
- Error recovery
|
|
|
|
6. **UI/UX Considerations** (if applicable)
|
|
- User interface requirements
|
|
- User experience goals
|
|
- Accessibility requirements
|
|
|
|
7. **Testing Requirements**
|
|
- Test scenarios
|
|
- Test data needed
|
|
- Test coverage expectations
|
|
|
|
8. **Integration Points**
|
|
- Dependencies on other stories
|
|
- External system integrations
|
|
- API requirements
|
|
|
|
## File Structure
|
|
|
|
### Required Files
|
|
```
|
|
/docs/project-context/
|
|
├── project-brief.md # Main project brief (REQUIRED)
|
|
└── story-relationships.md # Story dependencies (OPTIONAL)
|
|
```
|
|
|
|
### Version Management
|
|
```
|
|
/docs/project-context/versions/
|
|
├── .gitkeep # Ensures directory is tracked
|
|
├── project-brief-v1-20250101-143000.md
|
|
├── project-brief-v2-20250115-091500.md
|
|
└── story-relationships-v1-20250101-143000.md
|
|
```
|
|
|
|
## Example Output Structure
|
|
|
|
### Project Brief Template
|
|
```markdown
|
|
# Project Brief: [Project Title]
|
|
|
|
## Overview
|
|
[High-level project description]
|
|
|
|
## Objectives
|
|
- [Objective 1]
|
|
- [Objective 2]
|
|
|
|
## Stakeholders
|
|
- **Primary Users**: [description]
|
|
- **Business Stakeholders**: [description]
|
|
- **Technical Team**: [description]
|
|
|
|
## Core Features
|
|
1. [Feature 1]
|
|
2. [Feature 2]
|
|
|
|
## Story Breakdown
|
|
|
|
### STORY-XXX-001: [Story Title]
|
|
**Priority**: Core | **Effort**: M | **Status**: backlog
|
|
|
|
**Description**: [What this story accomplishes]
|
|
|
|
**User Scenarios**:
|
|
- [Scenario 1]
|
|
- [Scenario 2]
|
|
|
|
**Technical Requirements**:
|
|
- [Requirement 1]
|
|
- [Requirement 2]
|
|
|
|
**Acceptance Criteria**:
|
|
- [ ] [Criterion 1]
|
|
- [ ] [Criterion 2]
|
|
|
|
**Edge Cases**:
|
|
- [Edge case 1 and handling]
|
|
|
|
**Testing Requirements**:
|
|
- [Test scenario 1]
|
|
|
|
**Dependencies**: None
|
|
|
|
---
|
|
|
|
[Additional stories follow same format]
|
|
|
|
## Success Criteria
|
|
- [Success metric 1]
|
|
- [Success metric 2]
|
|
```
|
|
|
|
### Story Relationships Template
|
|
```markdown
|
|
# Story Relationships
|
|
|
|
## Dependency Graph
|
|
```
|
|
STORY-XXX-001 (Core)
|
|
└── STORY-XXX-002 (Core, depends on 001)
|
|
├── STORY-XXX-003 (Enhancement, depends on 002)
|
|
└── STORY-XXX-004 (Enhancement, depends on 002)
|
|
|
|
STORY-XXX-005 (Core, independent)
|
|
└── STORY-XXX-006 (Polish, depends on 005)
|
|
```
|
|
|
|
## Story Priority Matrix
|
|
| Story ID | Title | Priority | Dependencies | Effort | Status |
|
|
|----------|-------|----------|--------------|--------|--------|
|
|
| STORY-XXX-001 | Foundation Setup | Core | None | M | development |
|
|
| STORY-XXX-002 | Core Feature | Core | STORY-XXX-001 | L | backlog |
|
|
| STORY-XXX-003 | Enhancement A | Enhancement | STORY-XXX-002 | M | backlog |
|
|
|
|
## Implementation Order
|
|
|
|
**Phase 1 (Core - Week 1-2)**
|
|
- STORY-XXX-001: Foundation Setup
|
|
- STORY-XXX-005: Independent Core Feature
|
|
|
|
**Phase 2 (Core - Week 3-4)**
|
|
- STORY-XXX-002: Core Feature (after 001)
|
|
|
|
**Phase 3 (Enhancement - Week 5-6)**
|
|
- STORY-XXX-003: Enhancement A (after 002)
|
|
- STORY-XXX-004: Enhancement B (after 002)
|
|
|
|
**Phase 4 (Polish - Week 7)**
|
|
- STORY-XXX-006: Polish Feature (after 005)
|
|
```
|
|
|
|
## Error Handling
|
|
- If project_title is empty after prompt: Return "Error: Project title is required"
|
|
- If unable to create versions directory: Return "Warning: Could not create versions directory. Proceeding without backup."
|
|
- If existing brief cannot be parsed: Create new brief and log warning
|
|
- If no stories can be identified: Return "Error: Unable to identify actionable stories from requirements"
|
|
|
|
## Constraints
|
|
- ⚠️ NEVER skip version management if existing files are present
|
|
- ⚠️ NEVER create individual story files in `/docs/stories/development/`
|
|
- ✅ ALWAYS create comprehensive story definitions with all required elements
|
|
- ✅ ALWAYS preserve existing project context when building upon it
|
|
- ✅ MUST include dependency analysis if multiple stories exist
|
|
- 📝 SHOULD create story-relationships.md for projects with 3+ stories
|
|
- 🔄 MUST follow versioning pattern: project-brief-v[N]-[timestamp].md
|
|
|
|
## Usage Examples
|
|
|
|
### Example 1: New Project Brief
|
|
```bash
|
|
/sdd:project-brief
|
|
|
|
→ Prompts for project title
|
|
→ Gathers requirements interactively
|
|
→ Creates /docs/project-context/project-brief.md
|
|
→ Creates /docs/project-context/story-relationships.md
|
|
|
|
Output:
|
|
✅ Project Brief Created
|
|
Project: E-commerce Checkout Flow
|
|
Stories Identified: 5
|
|
- Core Stories: 3
|
|
- Enhancement Stories: 2
|
|
```
|
|
|
|
### Example 2: Updating Existing Brief
|
|
```bash
|
|
/sdd:project-brief "Enhanced Checkout"
|
|
|
|
→ Finds existing /docs/project-context/project-brief.md
|
|
→ Creates backup: /docs/project-context/versions/project-brief-v1-20250101-143000.md
|
|
→ Loads existing objectives and stories
|
|
→ Builds upon existing content
|
|
→ Creates enhanced version
|
|
|
|
Output:
|
|
✅ Project Brief Updated
|
|
Previous version backed up to: /docs/project-context/versions/project-brief-v1-20250101-143000.md
|
|
New stories added: 3
|
|
Updated stories: 2
|
|
```
|
|
|
|
### Example 3: With Title Provided
|
|
```bash
|
|
/sdd:project-brief "Mobile App Dashboard"
|
|
|
|
→ Uses provided title
|
|
→ Gathers requirements
|
|
→ Creates comprehensive brief
|
|
→ No version management needed (new project)
|
|
```
|
|
|
|
## Performance Considerations
|
|
- Large existing briefs (10+ stories) may take longer to parse
|
|
- Version management adds minimal overhead (single file copy)
|
|
- Interactive requirement gathering allows user to control pace
|
|
- Story dependency analysis scales with story count
|
|
|
|
## Related Commands
|
|
- `/sdd:project-init` - Initialize development environment after brief creation
|
|
- `/sdd:story-new` - Create individual story from brief
|
|
- `/sdd:story-qa` - Quality assurance for completed stories |