Initial commit
This commit is contained in:
392
commands/project-brief.md
Normal file
392
commands/project-brief.md
Normal file
@@ -0,0 +1,392 @@
|
||||
# /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
|
||||
Reference in New Issue
Block a user