/ .claude / commands / feature-start.md
feature-start.md
  1  ---
  2  allowed-tools: Bash(git:*), Bash(gh:*), Read, TodoWrite
  3  description: Start feature development with issue analysis, knowledge transfer, and branch setup
  4  ---
  5  
  6  # Feature Start Workflow
  7  
  8  ## Usage
  9  Execute: `/feature-start` (automatically detects available features or processes user context)
 10  Optional: `/feature-start #287` or `/feature-start feature about XYZ` or `/feature-start additional context`
 11  
 12  ## CRITICAL PHASE 1: Feature Issue Analysis & Knowledge Transfer
 13  
 14  **⚠️ MANDATORY FIRST STEPS - NEVER SKIP THIS PHASE ⚠️**
 15  
 16  ### 1. Current Context Check
 17  - **Current branch**: Run `git branch --show-current`
 18  - **Verify epic branch**: Ensure we're on correct epic branch before feature work
 19  - **Git status**: Run `git status --short`
 20  
 21  ### 2. Intelligent Feature Detection
 22  - **Parse user input**: Extract feature number from user context (e.g., "#287", "287", "feature 287")
 23  - **Auto-detect ready features**: If no specific feature mentioned, find open features in current epic
 24  - **Feature details**: Run `gh issue view DETECTED_FEATURE_NUMBER` (using detected or selected feature)
 25  - **Understand existing requirements**: Parse current issue body for:
 26    - Feature description and scope
 27    - Existing acceptance criteria
 28    - Dependencies and constraints
 29    - Any prior discussion or decisions
 30  
 31  ### 3. Knowledge Transfer Interview Process
 32  
 33  **Present feature issue summary and ask potent questions:**
 34  
 35  #### Core Understanding Questions
 36  - "Based on the current issue body for $ARGUMENTS, here's what I understand: [SUMMARY]. What specific implementation details have you already thought about?"
 37  - "What are the key interaction patterns you envision for this feature?"
 38  - "How should this feature integrate with our existing [RELEVANT_SYSTEMS]?"
 39  
 40  #### Technical Deep-Dive Questions
 41  - "Are there performance requirements or constraints I should consider?"
 42  - "What edge cases or potential issues should we handle?"
 43  - "What aspects of this feature are most important to get right?"
 44  - "Any specific technical approaches or patterns you'd prefer?"
 45  
 46  #### User Experience Questions
 47  - "What's the ideal user workflow for this feature?"
 48  - "How should this feel to use - any UX inspiration or references?"
 49  - "What should happen when things go wrong (error states)?"
 50  
 51  ### 4. Clarification Discussion
 52  - **Short conversation** to align understanding
 53  - **Let user articulate** their vision and requirements
 54  - **Capture additional insights** or constraints not in original issue
 55  - **Identify any missing context** or assumptions
 56  
 57  ### 5. Issue Body Refinement
 58  Based on the discussion, update the GitHub issue with:
 59  
 60  ```markdown
 61  ## Enhanced Description
 62  [Refined feature description based on discussion]
 63  
 64  ## Technical Approach
 65  [Specific implementation strategy]
 66  
 67  ## Enhanced Acceptance Criteria
 68  - [ ] [Original criteria plus refined details]
 69  - [ ] [Additional criteria from discussion]
 70  - [ ] [Edge cases and error handling]
 71  
 72  ## Integration Points
 73  [How this connects to existing features]
 74  
 75  ## Implementation Notes
 76  [Key decisions and constraints from discussion]
 77  ```
 78  
 79  ### 6. Get Explicit Approval
 80  - **Present refined plan**: "Here's the updated implementation plan based on our discussion: [PLAN]. Does this capture what you want?"
 81  - **Only proceed after user confirms** the direction is correct
 82  - **STOP here if approval not obtained**
 83  
 84  ## Phase 2: Feature Branch Setup
 85  
 86  **Only proceed here AFTER completing Phase 1 above**
 87  
 88  **⚠️ CRITICAL: LOCAL-ONLY WORKFLOW ⚠️**
 89  - **Feature branches are NEVER pushed to remote**
 90  - **ONLY main branch gets pushed (during epic completion)**
 91  
 92  ### Branch Creation
 93  - **Ensure on epic branch**: Run `git checkout epic/EPIC_NUMBER-epic-name`
 94  - **Create feature branch**: Run `git checkout -b feature/FEATURE_NAME-from-issue`
 95  - **NO PUSH**: Feature branch stays local, merges to epic branch when complete
 96  
 97  ### GitHub Integration
 98  - **Update feature issue**: Run `gh issue edit DETECTED_FEATURE_NUMBER --body "REFINED_ISSUE_BODY"`
 99  - **Move to Active**: Reference @CLAUDE.md (lines 680-727) for project board GraphQL
100  
101  ## Phase 3: Implementation Planning
102  
103  ### TodoWrite Task Breakdown
104  Create comprehensive task breakdown following project patterns:
105  
106  #### 1. Setup Tasks
107  - [ ] Verify development environment ready
108  - [ ] Confirm feature branch created and current
109  - [ ] Review integration points with existing code
110  
111  #### 2. Command Implementation (Commands Before UI)
112  - [ ] Define command interfaces
113  - [ ] Implement command handlers
114  - [ ] Register commands in main plugin
115  - [ ] Test command functionality
116  
117  #### 3. Service Layer (Service Layer Abstraction)
118  - [ ] Create/extend service classes
119  - [ ] Implement business logic
120  - [ ] Add error handling and validation
121  - [ ] Write service unit tests
122  
123  #### 4. UI Implementation (Feature Slice Architecture)
124  - [ ] Create feature slice components
125  - [ ] Integrate with command system
126  - [ ] Add to appropriate UI locations
127  - [ ] Implement user interactions
128  
129  #### 5. Testing & Validation
130  - [ ] Write comprehensive unit tests
131  - [ ] Manual testing in Obsidian development vault
132  - [ ] Verify all acceptance criteria met
133  - [ ] **STOP FOR USER TESTING** - Get explicit feedback
134  
135  ### Development Environment Check
136  - **Plugin reloader ready**: Confirm Obsidian development workflow
137  - **Testing protocols**: @CLAUDE.md (lines 784-790)
138  
139  ## Implementation Readiness Checklist
140  
141  - [ ] **Phase 1 Complete**: Feature issue analyzed and refined
142  - [ ] **Knowledge Transfer**: User interview conducted and insights captured
143  - [ ] **Issue Approval**: User confirmed refined implementation plan
144  - [ ] **Feature Branch**: Created off epic branch and pushed
145  - [ ] **GitHub Updated**: Issue body refined and project board updated
146  - [ ] **TodoWrite Ready**: Comprehensive task breakdown created
147  - [ ] **Environment Ready**: Development setup confirmed
148  
149  ## Next Steps
150  
151  After feature start completion:
152  1. **Begin Implementation**: Follow TodoWrite task breakdown
153  2. **Follow Architecture Patterns**: @CLAUDE.md (lines 382-395)
154  3. **Maintain Quality**: Regular testing and validation
155  4. **Use `/feature-complete`** when implementation ready for user testing
156  
157  ## Reference Materials
158  
159  - **Development Rules**: @CLAUDE.md (lines 382-395)
160  - **Critical Feature Workflow**: @CLAUDE.md (lines 523-575)
161  - **Service Layer Patterns**: @CLAUDE.md (lines 396-409)
162  - **GitHub CLI Commands**: @CLAUDE.md (lines 610-767)
163  - **Testing Standards**: @CLAUDE.md (lines 853-868)
164  
165  ## Workflow Anti-Patterns to Avoid
166  
167  **❌ Never Do These:**
168  - Skip issue analysis and jump straight to implementation
169  - Assume requirements without knowledge transfer interview
170  - Create feature branch without refining issue body
171  - Start coding before user approves direction
172  
173  **✅ Always Do These:**
174  - Conduct thorough knowledge transfer interview first
175  - Refine issue body with detailed implementation plan
176  - Get explicit user approval before any coding
177  - Create proper feature branch off epic branch
178  
179  This command embodies the **CRITICAL FEATURE DEVELOPMENT WORKFLOW** from project memory.