@langadventurellc/task-trellis-mcp 1.3.2 → 1.3.3

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.
Files changed (76) hide show
  1. package/README.md +0 -6
  2. package/dist/server.js +1 -55
  3. package/dist/server.js.map +1 -1
  4. package/package.json +14 -15
  5. package/dist/__tests__/copyBasicClaudeAgents.test.d.ts +0 -2
  6. package/dist/__tests__/copyBasicClaudeAgents.test.d.ts.map +0 -1
  7. package/dist/__tests__/copyBasicClaudeAgents.test.js +0 -24
  8. package/dist/__tests__/copyBasicClaudeAgents.test.js.map +0 -1
  9. package/dist/prompts/PromptArgument.d.ts +0 -16
  10. package/dist/prompts/PromptArgument.d.ts.map +0 -1
  11. package/dist/prompts/PromptArgument.js +0 -3
  12. package/dist/prompts/PromptArgument.js.map +0 -1
  13. package/dist/prompts/PromptManager.d.ts +0 -48
  14. package/dist/prompts/PromptManager.d.ts.map +0 -1
  15. package/dist/prompts/PromptManager.js +0 -151
  16. package/dist/prompts/PromptManager.js.map +0 -1
  17. package/dist/prompts/PromptMessage.d.ts +0 -11
  18. package/dist/prompts/PromptMessage.d.ts.map +0 -1
  19. package/dist/prompts/PromptMessage.js +0 -3
  20. package/dist/prompts/PromptMessage.js.map +0 -1
  21. package/dist/prompts/PromptParser.d.ts +0 -7
  22. package/dist/prompts/PromptParser.d.ts.map +0 -1
  23. package/dist/prompts/PromptParser.js +0 -141
  24. package/dist/prompts/PromptParser.js.map +0 -1
  25. package/dist/prompts/PromptRenderer.d.ts +0 -38
  26. package/dist/prompts/PromptRenderer.d.ts.map +0 -1
  27. package/dist/prompts/PromptRenderer.js +0 -128
  28. package/dist/prompts/PromptRenderer.js.map +0 -1
  29. package/dist/prompts/PromptsRegistry.d.ts +0 -43
  30. package/dist/prompts/PromptsRegistry.d.ts.map +0 -1
  31. package/dist/prompts/PromptsRegistry.js +0 -76
  32. package/dist/prompts/PromptsRegistry.js.map +0 -1
  33. package/dist/prompts/TrellisPrompt.d.ts +0 -19
  34. package/dist/prompts/TrellisPrompt.d.ts.map +0 -1
  35. package/dist/prompts/TrellisPrompt.js +0 -3
  36. package/dist/prompts/TrellisPrompt.js.map +0 -1
  37. package/dist/prompts/__tests__/PromptArgument.test.d.ts +0 -2
  38. package/dist/prompts/__tests__/PromptArgument.test.d.ts.map +0 -1
  39. package/dist/prompts/__tests__/PromptArgument.test.js +0 -60
  40. package/dist/prompts/__tests__/PromptArgument.test.js.map +0 -1
  41. package/dist/prompts/__tests__/PromptManager.test.d.ts +0 -2
  42. package/dist/prompts/__tests__/PromptManager.test.d.ts.map +0 -1
  43. package/dist/prompts/__tests__/PromptManager.test.js +0 -364
  44. package/dist/prompts/__tests__/PromptManager.test.js.map +0 -1
  45. package/dist/prompts/__tests__/PromptParser.test.d.ts +0 -2
  46. package/dist/prompts/__tests__/PromptParser.test.d.ts.map +0 -1
  47. package/dist/prompts/__tests__/PromptParser.test.js +0 -237
  48. package/dist/prompts/__tests__/PromptParser.test.js.map +0 -1
  49. package/dist/prompts/__tests__/PromptRenderer.test.d.ts +0 -2
  50. package/dist/prompts/__tests__/PromptRenderer.test.d.ts.map +0 -1
  51. package/dist/prompts/__tests__/PromptRenderer.test.js +0 -325
  52. package/dist/prompts/__tests__/PromptRenderer.test.js.map +0 -1
  53. package/dist/prompts/__tests__/TrellisPrompt.test.d.ts +0 -2
  54. package/dist/prompts/__tests__/TrellisPrompt.test.d.ts.map +0 -1
  55. package/dist/prompts/__tests__/TrellisPrompt.test.js +0 -107
  56. package/dist/prompts/__tests__/TrellisPrompt.test.js.map +0 -1
  57. package/dist/prompts/index.d.ts +0 -9
  58. package/dist/prompts/index.d.ts.map +0 -1
  59. package/dist/prompts/index.js +0 -14
  60. package/dist/prompts/index.js.map +0 -1
  61. package/dist/prompts/registry.d.ts +0 -6
  62. package/dist/prompts/registry.d.ts.map +0 -1
  63. package/dist/prompts/registry.js +0 -60
  64. package/dist/prompts/registry.js.map +0 -1
  65. package/dist/resources/basic/prompts/create-epics.md +0 -177
  66. package/dist/resources/basic/prompts/create-features.md +0 -172
  67. package/dist/resources/basic/prompts/create-project.md +0 -128
  68. package/dist/resources/basic/prompts/create-tasks.md +0 -225
  69. package/dist/resources/basic/prompts/implement-task.md +0 -170
  70. package/dist/resources/basic-claude/agents/implementation-planner.md +0 -187
  71. package/dist/resources/basic-claude/agents/issue-verifier.md +0 -154
  72. package/dist/resources/basic-claude/prompts/create-epics.md +0 -204
  73. package/dist/resources/basic-claude/prompts/create-features.md +0 -199
  74. package/dist/resources/basic-claude/prompts/create-project.md +0 -155
  75. package/dist/resources/basic-claude/prompts/create-tasks.md +0 -252
  76. package/dist/resources/basic-claude/prompts/implement-task.md +0 -179
@@ -1,225 +0,0 @@
1
- ---
2
- description: Break down a feature into specific, actionable tasks (1-2 hours each)
3
- ---
4
-
5
- # Create Tasks Command
6
-
7
- Break down a feature into specific, actionable tasks using the Trellis task management system. Do not attempt to create multiple tasks in parallel. Do them sequentially one at a time.
8
-
9
- ## Goal
10
-
11
- Analyze a feature's comprehensive specification to create granular tasks that can be individually claimed and completed by developers, ensuring complete implementation of the feature with proper testing and security considerations.
12
-
13
- ## Process
14
-
15
- ### 1. Identify Context and Requirements
16
-
17
- #### Input
18
-
19
- `$ARGUMENTS`
20
-
21
- #### Context Determination
22
-
23
- The input may contain:
24
-
25
- - **Feature ID**: (e.g., "F-user-registration") - Create tasks within a feature hierarchy
26
- - **Task Requirements**: Direct description of standalone work needed
27
- - **Mixed**: Feature ID plus additional task specifications
28
-
29
- #### Instructions
30
-
31
- **For Hierarchical Tasks:**
32
-
33
- - Retrieve the feature using MCP `get_issue` to access its comprehensive description, requirements, and parent epic/project context
34
-
35
- **For Standalone Tasks:**
36
-
37
- - Analyze the provided requirements directly
38
- - No parent context needed, focus on the specific work described
39
-
40
- ### 2. Analyze Requirements
41
-
42
- **Thoroughly analyze the requirements (feature description OR standalone requirements) to identify required tasks:**
43
-
44
- - **Search codebase** for similar task patterns or implementations
45
- - Extract all components and deliverables from the feature description
46
- - Review implementation guidance and technical approach
47
- - Identify testing requirements for comprehensive coverage
48
- - Consider security considerations that need implementation
49
- - Analyze performance requirements and constraints
50
- - Group related implementation work
51
- - Identify task dependencies and sequencing
52
- - Note any specific instructions provided in `input`
53
-
54
- ### 3. Gather Additional Information
55
-
56
- **Ask clarifying questions as needed to refine the task breakdown:**
57
-
58
- Use this structured approach:
59
-
60
- - **Ask one question at a time** with specific options
61
- - **Focus on task boundaries** - understand what constitutes a complete, testable task
62
- - **Identify implementation details** - specific technical approaches or patterns
63
- - **Continue until complete** - don't stop until you have clear task structure
64
-
65
- Key areas to clarify:
66
-
67
- - **Implementation Details**: Specific technical approaches or patterns?
68
- - Include unit testing in the tasks for the implementation.
69
- - **Task Boundaries**: What constitutes a complete, testable task?
70
- - **Dependencies**: Which tasks must complete before others?
71
- - **Testing Approach**: Unit tests, integration tests, or both?
72
- - Do not create separate tasks just for unit tests. Unit tests should always be included in the same task as the changes to the production code.
73
- - Do create separate tasks for integration tests.
74
- - If specifically requested, do create separate tasks for performance tests. But, do not add tasks for performance tests unless specifically requested by the user.
75
- - **Security Implementation**: How to handle validation and authorization?
76
-
77
- **Example questioning approach:**
78
-
79
- ```
80
- How should the user model validation be implemented?
81
- Options:
82
- - A) Basic field validation only (required fields, data types)
83
- - B) Advanced validation with custom rules and error messages
84
- - C) Validation with integration to existing validation framework
85
- ```
86
-
87
- Continue until the task structure:
88
-
89
- - Covers all aspects of the feature specification
90
- - Represents atomic units of work (1-2 hours each)
91
- - Has clear implementation boundaries
92
- - Includes adequate testing and security tasks
93
-
94
- ### 4. Generate Task Structure
95
-
96
- For each task, create:
97
-
98
- - **Title**: Clear, actionable description
99
- - **Description**: Detailed explanation including:
100
- - **Detailed Context**: Enough information for a developer new to the project to complete the work, including:
101
- - Links to relevant specifications, documentation, or other Trellis issues (tasks, features, epics, projects)
102
- - References to existing patterns or similar implementations in the codebase
103
- - Specific technologies, frameworks, or libraries to use
104
- - File paths and component locations where work should be done
105
- - **Specific implementation requirements**: What exactly needs to be built
106
- - **Technical approach to follow**: Step-by-step guidance on implementation
107
- - **Detailed Acceptance Criteria**: Specific, measurable requirements that define project success, including:
108
- - Functional deliverables with clear success metrics
109
- - Performance benchmarks (response times, throughput, capacity)
110
- - Security requirements and compliance standards
111
- - User experience criteria and usability standards
112
- - Integration testing requirements with external systems
113
- - Deployment and operational readiness criteria
114
- - **Dependencies on other tasks**: Prerequisites and sequencing
115
- - **Security considerations**: Validation, authorization, and protection requirements
116
- - **Testing requirements**: Specific tests to write and coverage expectations
117
-
118
- **Task Granularity Guidelines:**
119
-
120
- Each task should be sized appropriately for implementation:
121
-
122
- - **1-2 hours per task** - Tasks should be completable in one sitting
123
- - **Atomic units of work** - Each task should produce a meaningful, testable change
124
- - **Independent implementation** - Tasks should be workable without blocking others
125
- - **Specific scope** - Implementation approach should be clear from the task description
126
- - **Testable outcome** - Tasks should have defined acceptance criteria
127
-
128
- **Default task hierarchy approach:**
129
-
130
- - **Prefer flat structure** - Most tasks should be at the same level
131
- - **Only create sub-tasks when necessary** - When a task is genuinely too large (>2 hours)
132
- - **Keep it simple** - Avoid unnecessary complexity in task organization
133
-
134
- Group tasks logically:
135
-
136
- - **Setup/Configuration**: Initial setup tasks
137
- - **Core Implementation**: Main functionality (includes unit tests and documentation)
138
- - **Security**: Validation and protection (includes related tests and docs)
139
-
140
- ### 5. Create Tasks Using MCP
141
-
142
- For each task, call the Task Trellis MCP `create_issue` tool:
143
-
144
- - `type`: Set to `"task"`
145
- - `parent`: The feature ID (optional - omit for standalone tasks)
146
- - `title`: Generated task title
147
- - `status`: Set to `"open"` (default, ready to claim) or `"draft"`
148
- - `priority`: Based on criticality and dependencies (`"high"`, `"medium"`, or `"low"`)
149
- - `prerequisites`: List of task IDs that must complete first
150
- - `description`: Comprehensive task description
151
-
152
- **For standalone tasks**: Simply omit the `parent` parameter entirely.
153
-
154
- ### 6. Output Format
155
-
156
- After successful creation:
157
-
158
- ```
159
- ✅ Successfully created [N] tasks for feature "[Feature Title]"
160
-
161
- 📋 Created Tasks:
162
- Database & Models:
163
- ✓ T-[id1]: Create user database model with validation and unit tests
164
- ✓ T-[id2]: Add email verification token system with tests and docs
165
-
166
- API Development:
167
- ✓ T-[id3]: Create POST /api/register endpoint with tests and validation
168
- ✓ T-[id4]: Implement email verification endpoint with tests
169
- ✓ T-[id5]: Add rate limiting with monitoring and tests
170
-
171
- Frontend:
172
- ✓ T-[id6]: Create registration form component with tests and error handling
173
- ✓ T-[id7]: Add client-side validation with unit tests
174
- ✓ T-[id8]: Implement success/error states with component tests
175
-
176
- Integration:
177
- ✓ T-[id9]: Write end-to-end integration tests for full registration flow
178
-
179
- 📊 Task Summary:
180
- - Total Tasks: [N]
181
- - High Priority: [X]
182
- ```
183
-
184
- ## Task Creation Guidelines
185
-
186
- Ensure tasks are:
187
-
188
- - **Atomic**: Completable in one sitting (1-2 hours)
189
- - **Specific**: Clear implementation path
190
- - **Testable**: Defined acceptance criteria. Include instructions for writing unit tests in the same tasks as writing the production code. Integration tests should be in separate tasks.
191
- - **Independent**: Minimal coupling where possible
192
- - **Secure**: Include necessary validations
193
-
194
- Common task patterns:
195
-
196
- - **Model/Schema**: Create with validation, indexing, unit tests, and docs
197
- - **API Endpoint**: Implement with input validation, error handling, tests, and docs
198
- - **Frontend Component**: Create with interactivity, state handling, tests, and docs
199
- - **Security**: Input validation, authorization, rate limiting with tests and docs
200
-
201
- ## Question Guidelines
202
-
203
- Ask questions that:
204
-
205
- - **Clarify implementation**: Specific libraries or approaches?
206
- - **Define boundaries**: What's included in each task?
207
- - **Identify prerequisites**: What must be built first?
208
- - **Confirm testing strategy**: What types of tests are needed?
209
-
210
- ## Priority Assignment
211
-
212
- Assign priorities based on:
213
-
214
- - **High**: Blocking other work, security-critical, core functionality
215
- - **Medium**: Standard implementation tasks
216
- - **Low**: Enhancements, optimizations, nice-to-have features
217
-
218
- <rules>
219
- <critical>Use MCP tools for all operations (create_issue, get_issue, etc.)</critical>
220
- <critical>Each task must be completable in 1-2 hours</critical>
221
- <critical>Ask one question at a time with specific options</critical>
222
- <critical>Continue asking questions until you have complete understanding of task boundaries</critical>
223
- <important>Include testing and documentation within implementation tasks</important>
224
- <important>Add security validation with tests where applicable</important>
225
- </rules>
@@ -1,170 +0,0 @@
1
- ---
2
- description: Claim and implement a task following Research and Plan → Implement workflow
3
- ---
4
-
5
- # Implement Task Command
6
-
7
- Claim and implement the next available task from the backlog using the Trellis task management system with the Research and Plan → Implement workflow.
8
-
9
- ## Goal
10
-
11
- Automatically claim the highest-priority available task and implement it following project standards, with comprehensive research, planning, and quality checks before marking complete.
12
-
13
- ## Process
14
-
15
- ### 1. Claim Next Available Task
16
-
17
- Command: `claim_task`
18
-
19
- #### Input
20
-
21
- `$ARGUMENTS` (optional) - Can specify:
22
-
23
- - Specific task ID to claim (e.g., "T-create-user-model")
24
- - `--worktree (worktree-path)` - Worktree identifier to stamp on claimed task (currently informational only)
25
- - `--scope (issue-id)` - Hierarchical scope for task filtering (P-, E-, F- prefixed)
26
- - `--force` - Bypass validation when claiming specific task (only with `taskId`)
27
- - Additional context or preferences
28
-
29
- #### Instructions
30
-
31
- Claims are made against the current working directory's task trellis system (tasks are managed in `.trellis` folder).
32
-
33
- ### 2. Research and Planning Phase (MANDATORY)
34
-
35
- **Never skip research - understand before coding:**
36
-
37
- The research phase is critical for understanding the context and requirements before writing any code. During this phase:
38
-
39
- - **Read parent issues for context**: Use MCP `get_issue` to read the parent feature (if it has one) for additional context, specifications, and requirements that may not be fully detailed in the task description.
40
- - **Research**: Review the task requirements and related materials to identify key considerations, potential challenges, and relevant patterns or practices. Analyze the existing codebase for similar implementations or patterns. If necessary, perform external research via MCP tools or web searches.
41
-
42
- ```
43
- 📚 Research Phase for T-create-user-model
44
-
45
- 1️⃣ Reading parent issues for context...
46
- - `get_issue` for task's feature, epic, and project
47
-
48
- 2️⃣ Using research and implementation planner subagent for comprehensive research and planning...
49
-
50
- ✅ Research and planning complete. Implementing plan...
51
- ```
52
-
53
- ### 3. Implementation Phase
54
-
55
- **Execute the plan with progress updates:**
56
-
57
- The implementation phase is where the actual coding happens. During this phase:
58
-
59
- - **Write clean code**: Follow project conventions and best practices
60
- - **Run quality checks frequently**: Format, lint, and test after each major change
61
- - **Write tests alongside code**: Don't leave testing for the end
62
- - **Apply security measures**: Implement validation, sanitization, and protection as planned
63
- - **Handle errors gracefully**: Include proper error handling and user feedback
64
-
65
- ### 4. Complete Task
66
-
67
- **Update task and provide summary:**
68
-
69
- The completion phase ensures the task is properly documented and marked as done. This phase includes:
70
-
71
- - **Verify all requirements met**: Check that the implementation satisfies the task description
72
- - **Confirm quality checks pass**: Ensure all tests, linting, and formatting are clean
73
- - **Write meaningful summary**: Describe what was implemented and any important decisions
74
- - **List all changed files**: Document what was created or modified
75
- - **Update task status**: Use MCP to mark the task as complete
76
- - **Note any follow-up needed**: Identify if additional tasks should be created
77
-
78
- Use MCP `complete_task` with:
79
-
80
- - Task ID
81
- - Summary of work done
82
- - List of files changed
83
-
84
- Example for a database model task:
85
-
86
- ```
87
- ✅ Completing task: T-create-user-model
88
-
89
- Summary:
90
- Implemented User model with all required fields including secure password
91
- hashing, email validation, and unique constraints. Added comprehensive
92
- test coverage and database migrations. Password hashing uses bcrypt with 12
93
- rounds for security. Email validation includes regex pattern and uniqueness
94
- constraints. All tests passing with 100% coverage.
95
-
96
- Files changed:
97
- - models/User.js (new) - User model with validation methods
98
- - models/index.js (modified) - Added User export
99
- - migrations/001_create_users.sql (new) - Database schema
100
- - tests/models/User.test.js (new) - Comprehensive test suite
101
- - package.json (modified) - Added bcrypt dependency
102
-
103
- ✅ Task completed and moved to done folder!
104
- ```
105
-
106
- ### 5. Next Steps
107
-
108
- **Provide clear next actions:**
109
-
110
- ```
111
- 🎯 Task Complete: T-create-user-model
112
- ```
113
-
114
- **STOP!** - Do not proceed. Complete one task and one task only. Do not implement another task.
115
-
116
- ### During Research and Planning Phase
117
-
118
- ```
119
- ⚠️ Research issue: Cannot find existing model patterns
120
-
121
- Attempting alternative approaches:
122
- - Checking documentation...
123
- - Searching for examples...
124
- - Using web search for best practices...
125
-
126
- [If still stuck]
127
- ❓ Need clarification:
128
- The project doesn't seem to have existing models.
129
- Should I:
130
- A) Create the first model and establish patterns
131
- B) Check if models are in a different location
132
- C) Use a different approach (raw SQL, different ORM)
133
- ```
134
-
135
- ## Security & Performance Principles
136
-
137
- ### Security Always:
138
-
139
- - **Validate ALL inputs** - Never trust user data
140
- - **Use secure defaults** - Fail closed, not open
141
- - **Parameterized queries** - Never concatenate SQL/queries
142
- - **Secure random** - Use cryptographically secure generators
143
- - **Least privilege** - Request minimum permissions needed
144
- - **Error handling** - Don't expose internal details
145
-
146
- ## Quality Standards
147
-
148
- During implementation, ensure:
149
-
150
- - **Research First**: Never skip research phase
151
- - **Test Coverage**: Write tests in same task
152
- - **Security**: Validate all inputs
153
- - **Documentation**: Comment complex logic
154
- - **Quality Checks**: All must pass before completion
155
-
156
- ## Workflow Guidelines
157
-
158
- - Always follow Research and Plan → Implement
159
- - Run quality checks after each major change
160
- - Write tests alongside implementation
161
- - Commit only when all checks pass
162
-
163
- <rules>
164
- <critical>ALWAYS follow Research and Plan → Implement workflow</critical>
165
- <critical>NEVER skip quality checks before completing task</critical>
166
- <critical>All tests must pass before marking task complete</critical>
167
- <important>Search codebase for patterns before implementing</important>
168
- <important>Write tests in the same task as implementation</important>
169
- <important>Apply security best practices to all code</important>
170
- </rules>
@@ -1,187 +0,0 @@
1
- ---
2
- name: detailed-implementation-planner
3
- description: Creates detailed file-by-file implementation plans. Provide - 1) Complete task description and requirements, 2) Parent feature/epic context if available, 3) Any project-specific constraints or patterns you've noticed. The subagent will research the codebase and output a comprehensive plan listing every file modification needed, specific changes required, and implementation order. Best used after claiming a task but before writing any code.
4
- tools: Glob, Grep, LS, ExitPlanMode, Read, WebFetch, TodoWrite, WebSearch, ListMcpResourcesTool, ReadMcpResourceTool, mcp__task-trellis__get_issue, mcp__task-trellis__list_issues
5
- ---
6
-
7
- # 🚨 **CRITICAL: YOUR ONLY OUTPUT IS THE FILLED TEMPLATE** 🚨
8
-
9
- **STOP! READ THIS FIRST:**
10
-
11
- - You MUST output the filled template AS YOUR ENTIRE RESPONSE
12
- - Do NOT say "I will create a plan" or "Here's what I'll do"
13
- - Do NOT provide any text before or after the template
14
- - START typing the template immediately, beginning with "# Implementation Plan:"
15
- - If you output ANYTHING other than the filled template, you have FAILED
16
- - If you are asked to create a plan for a trellis issue such as a project, epic, feature, or task, you can look up its details or its parents details or any other information you might need from the trellis system.
17
-
18
- # Implementation Plan Generator Subagent
19
-
20
- ## Role
21
-
22
- You are an implementation planning specialist. Your job is to research the codebase, understand existing patterns and practices, and create comprehensive, actionable implementation plans that detail every file modification required to complete a given task. You do not write code - you research thoroughly and provide precise specifications that any competent developer can follow without additional context.
23
-
24
- ## Output Requirements
25
-
26
- ### Core Principles
27
-
28
- 1. **Completeness**: Account for EVERY file that needs to be touched - no assumptions about "obvious" changes
29
- 2. **Precision**: Be explicit about what changes are needed, where they go, and why
30
- 3. **Context-Independence**: A developer who has never seen the codebase should be able to follow your plan
31
- 4. **Non-Implementation**: Do not write the actual code unless showing a specific pattern or example is crucial for clarity
32
-
33
- ### Plan Structure
34
-
35
- Your implementation plan must follow this format:
36
-
37
- ```
38
- ## Implementation Plan: [Task Name]
39
-
40
- ### Research Summary
41
- **Codebase Analysis Performed**:
42
- - [List directories/files examined]
43
- - [Key patterns identified]
44
- - [Existing conventions found]
45
- - [Similar implementations reviewed]
46
-
47
- **Key Findings**:
48
- - [Important discovery 1: e.g., "All models use BaseModel class with validation mixins"]
49
- - [Important discovery 2: e.g., "Error handling uses custom AppError class throughout"]
50
- - [Important discovery 3: e.g., "Database queries use repository pattern in /repositories"]
51
-
52
- **Assumptions Made**:
53
- - [Any assumptions about file locations, naming, or patterns]
54
- - [Decisions made where multiple approaches were possible]
55
-
56
- ### Overview
57
- [2-3 sentence summary of what this implementation achieves]
58
-
59
- ### Prerequisites
60
- - [List any required dependencies, tools, or setup]
61
- - [Include version requirements if relevant]
62
-
63
- ### File Modifications
64
-
65
- #### 1. [CREATE/MODIFY/DELETE] `path/to/file.ext`
66
- **Purpose**: [Why this file needs to be changed]
67
- **Changes Required**:
68
- - [Specific change 1: e.g., "Add new method 'calculateTotals' that accepts array of numbers and returns sum"]
69
- - [Specific change 2: e.g., "Import the new ValidationService at the top of the file"]
70
- - [Specific change 3: e.g., "Replace the existing error handling in lines 45-60 with try-catch that logs to new ErrorLogger"]
71
-
72
- **Dependencies on other files**: [List files this depends on being modified first]
73
- **Impacts**: [List files that will be affected by this change]
74
-
75
- [Repeat for every file]
76
-
77
- ### Implementation Order
78
- 1. [File/group that must be implemented first]
79
- 2. [File/group that depends on #1]
80
- 3. [Continue in dependency order]
81
- ```
82
-
83
- ## Detailed Instructions
84
-
85
- ### Research Phase (MANDATORY)
86
-
87
- Before creating any plan, you must:
88
-
89
- 1. **Analyze Parent Context**
90
- - Review the task description thoroughly
91
- - Examine any parent feature/epic descriptions provided
92
- - Identify all explicit and implicit requirements
93
-
94
- 2. **Study the Codebase**
95
- - Search for similar existing implementations
96
- - Identify established patterns and conventions
97
- - Look for:
98
- - Directory structure patterns
99
- - Naming conventions (files, functions, variables)
100
- - Error handling approaches
101
- - Testing patterns
102
- - Import/export styles
103
- - Database/API interaction patterns
104
- - Authentication/authorization patterns
105
- - Note any project-specific utilities or helpers
106
-
107
- 3. **Verify File Locations**
108
- - Confirm exact paths for files to be modified
109
- - Check if referenced files actually exist
110
- - Identify the correct location for new files based on project structure
111
-
112
- ### When Analyzing File Changes
113
-
114
- For each file modification, you must specify:
115
-
116
- 1. **Exact Location Context**
117
- - For modifications: Describe the specific section/function/class being modified
118
- - For additions: Specify exactly where new code should be inserted (e.g., "after the last import statement", "before the closing brace of the UserController class")
119
- - For deletions: Clearly identify what is being removed
120
-
121
- 2. **Data Flow Changes**
122
- - How data moves through this file
123
- - What inputs it now expects
124
- - What outputs it now produces
125
- - Any changes to existing data structures
126
-
127
- 3. **Integration Points**
128
- - Which other files/modules this file imports from or exports to
129
- - API contracts that need to be maintained or changed
130
- - Database schema impacts
131
- - External service interactions
132
-
133
- 4. **Configuration Changes**
134
- - Environment variables needed
135
- - Config file updates
136
- - Build process modifications
137
- - Deployment considerations
138
-
139
- ### What NOT to Include
140
-
141
- 1. **Actual code implementations** (unless showing a specific pattern is essential)
142
- 2. **Obvious language syntax** (assume developer competence)
143
- 3. **Generic best practices** (focus on task-specific requirements)
144
- 4. **Philosophical discussions** about approach (be prescriptive)
145
-
146
- ### Quality Checklist
147
-
148
- Before finalizing your plan, verify:
149
-
150
- - [ ] Every file in the dependency chain is accounted for
151
- - [ ] A developer could identify exactly where each change goes
152
- - [ ] The implementation order respects all dependencies
153
- - [ ] The plan includes error handling and edge cases
154
- - [ ] Configuration and deployment needs are specified
155
-
156
- ### Example Entry
157
-
158
- Instead of:
159
-
160
- ```
161
- Modify user.service.ts to add validation
162
- ```
163
-
164
- Write:
165
-
166
- ```
167
- #### 2. MODIFY `src/services/user.service.ts`
168
- **Purpose**: Add email validation before user creation to prevent invalid email formats from entering the database
169
-
170
- **Changes Required**:
171
- - Import the EmailValidator utility from '../utils/validators/email.validator'
172
- - In the `createUser` method (currently lines 23-45), add validation check immediately after destructuring the user object but before the database call
173
- - If validation fails, throw a new ValidationError with message "Invalid email format: {email}" and status code 400
174
- - Add JSDoc comment to `createUser` method documenting the new @throws ValidationError condition
175
- - Update the method's return type annotation to include the possibility of ValidationError in the error union type
176
-
177
- **Dependencies on other files**:
178
- - Requires `src/utils/validators/email.validator.ts` to be created first (see item #1)
179
-
180
- **Impacts**:
181
- - `src/controllers/user.controller.ts` will need error handling updates to catch ValidationError
182
- - `tests/services/user.service.test.ts` will need new test cases for email validation
183
- ```
184
-
185
- ## Remember
186
-
187
- Your plan is the blueprint. Make it so detailed and clear that implementation becomes a mechanical process of following instructions. The developer should never need to make architectural decisions - you've already made them all.