claude-autopm 1.23.2 → 1.24.0

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 (25) hide show
  1. package/README.md +1 -1
  2. package/autopm/.claude/agents/frameworks/e2e-test-engineer.md +26 -1
  3. package/autopm/.claude/agents/frameworks/nats-messaging-expert.md +28 -3
  4. package/autopm/.claude/agents/frameworks/react-frontend-engineer.md +26 -1
  5. package/autopm/.claude/agents/frameworks/react-ui-expert.md +26 -1
  6. package/autopm/.claude/agents/frameworks/tailwindcss-expert.md +26 -1
  7. package/autopm/.claude/agents/frameworks/ux-design-expert.md +25 -1
  8. package/autopm/.claude/agents/languages/bash-scripting-expert.md +26 -1
  9. package/autopm/.claude/agents/languages/javascript-frontend-engineer.md +26 -1
  10. package/autopm/.claude/agents/languages/nodejs-backend-engineer.md +27 -1
  11. package/autopm/.claude/agents/languages/python-backend-engineer.md +27 -2
  12. package/autopm/.claude/agents/languages/python-backend-expert.md +26 -1
  13. package/autopm/.claude/commands/pm/context-create.md +136 -0
  14. package/autopm/.claude/commands/pm/context-prime.md +170 -0
  15. package/autopm/.claude/commands/pm/context-update.md +292 -0
  16. package/autopm/.claude/commands/pm/epic-decompose.md +19 -0
  17. package/autopm/.claude/commands/pm/epic-merge.md +2 -2
  18. package/autopm/.claude/scripts/pm/prd-parse.js +19 -1
  19. package/autopm/.claude/templates/context-templates/progress.md.template +25 -0
  20. package/autopm/.claude/templates/context-templates/project-brief.md.template +19 -0
  21. package/autopm/.claude/templates/context-templates/project-structure.md.template +23 -0
  22. package/autopm/.claude/templates/context-templates/tech-context.md.template +23 -0
  23. package/package.json +1 -1
  24. package/scripts/fix-invalid-command-refs.sh +141 -0
  25. package/scripts/fix-invalid-refs-simple.sh +49 -0
@@ -0,0 +1,170 @@
1
+ ---
2
+ allowed-tools: Read, Bash
3
+ ---
4
+
5
+ # Context Prime
6
+
7
+ Load project context into current AI session for better understanding and continuity.
8
+
9
+ ## Required Documentation Access
10
+
11
+ **MANDATORY:** Before priming context, query Context7 for best practices:
12
+
13
+ **Documentation Queries:**
14
+ - `mcp://context7/knowledge-management/context-loading` - Context loading patterns
15
+ - `mcp://context7/ai/prompt-engineering` - Effective context management for AI
16
+
17
+ **Why This is Required:**
18
+ - Ensures optimal context loading for AI comprehension
19
+ - Provides strategies for maintaining session continuity
20
+
21
+ ## Instructions
22
+
23
+ Load comprehensive project context into the current AI session.
24
+
25
+ ### 1. Verify context exists
26
+
27
+ ```bash
28
+ if [ ! -d ".claude/context" ]; then
29
+ echo "āŒ Context not found. Run /pm:context-create first."
30
+ exit 1
31
+ fi
32
+ ```
33
+
34
+ ### 2. Read all context files
35
+
36
+ Read in order:
37
+ 1. `.claude/context/project-brief.md` - Project overview and objectives
38
+ 2. `.claude/context/tech-context.md` - Technical stack and dependencies
39
+ 3. `.claude/context/project-structure.md` - Directory layout and organization
40
+ 4. `.claude/context/progress.md` - Current status and next steps
41
+
42
+ ### 3. Process and internalize context
43
+
44
+ **Parse key information:**
45
+
46
+ From **project-brief.md**:
47
+ - Project name and description
48
+ - Primary objectives and goals
49
+ - Target users and stakeholders
50
+ - Key constraints and limitations
51
+ - Success criteria
52
+
53
+ From **tech-context.md**:
54
+ - Technology stack (frontend, backend, database, infrastructure)
55
+ - Development environment (Node.js version, package manager, testing framework)
56
+ - Key dependencies and their purposes
57
+ - Architecture patterns in use
58
+ - Development practices
59
+
60
+ From **project-structure.md**:
61
+ - Directory layout and organization
62
+ - Key files and their purposes
63
+ - Module structure
64
+ - Configuration files
65
+
66
+ From **progress.md**:
67
+ - Current phase and progress percentage
68
+ - Completed tasks
69
+ - In-progress tasks
70
+ - Next steps
71
+ - Any blockers
72
+
73
+ ### 4. Display loaded context summary
74
+
75
+ Present a comprehensive summary:
76
+
77
+ ```
78
+ šŸ“‹ Project Context Loaded
79
+
80
+ ══════════════════════════════════════════════════════════════════
81
+
82
+ PROJECT: [Project Name]
83
+ PHASE: [Current Phase] | PROGRESS: [X]%
84
+ LAST UPDATED: [Date from progress.md]
85
+
86
+ ══════════════════════════════════════════════════════════════════
87
+
88
+ šŸŽÆ OBJECTIVES
89
+ - [Primary goal]
90
+ - [Secondary goal]
91
+ - [Tertiary goal]
92
+
93
+ šŸ”§ TECH STACK
94
+ - Frontend: [Technologies]
95
+ - Backend: [Technologies]
96
+ - Database: [Database]
97
+ - Testing: [Framework]
98
+
99
+ šŸ“ STRUCTURE
100
+ [Brief structure overview]
101
+
102
+ āœ… COMPLETED
103
+ - [Recent completed task 1]
104
+ - [Recent completed task 2]
105
+
106
+ 🚧 IN PROGRESS
107
+ - [Current task 1]
108
+ - [Current task 2]
109
+
110
+ ā­ļø NEXT STEPS
111
+ 1. [Next action 1]
112
+ 2. [Next action 2]
113
+
114
+ āš ļø BLOCKERS
115
+ - [Blocker 1, if any]
116
+
117
+ ══════════════════════════════════════════════════════════════════
118
+
119
+ āœ… Context loaded. AI agent now has project memory.
120
+
121
+ šŸ’” TIP: Run /pm:context-update after significant changes to keep context current.
122
+ ```
123
+
124
+ ### 5. Internal context retention
125
+
126
+ **CRITICAL:** After displaying the summary, the AI agent should:
127
+
128
+ 1. **Retain project identity**: Remember project name, goals, and constraints
129
+ 2. **Understand technical environment**: Keep tech stack and dependencies in mind
130
+ 3. **Maintain progress awareness**: Know what's done, what's in progress, what's next
131
+ 4. **Respect project structure**: Work within established organization patterns
132
+ 5. **Align with practices**: Follow development practices outlined in context
133
+
134
+ This context should guide all subsequent interactions in the session:
135
+ - Suggestions should align with project objectives
136
+ - Recommendations should fit the tech stack
137
+ - Changes should consider current progress
138
+ - Code should match project structure
139
+
140
+ ### 6. Confirmation
141
+
142
+ Return structured confirmation:
143
+
144
+ ```json
145
+ {
146
+ "status": "loaded",
147
+ "project": "[Project Name]",
148
+ "phase": "[Current Phase]",
149
+ "progress": "[X]%",
150
+ "filesRead": [
151
+ "project-brief.md",
152
+ "tech-context.md",
153
+ "project-structure.md",
154
+ "progress.md"
155
+ ],
156
+ "keyTakeaways": [
157
+ "[Important point 1]",
158
+ "[Important point 2]",
159
+ "[Important point 3]"
160
+ ]
161
+ }
162
+ ```
163
+
164
+ ## Output Format
165
+
166
+ Return:
167
+ - Formatted context summary (as shown above)
168
+ - Key information highlighted
169
+ - Current focus areas
170
+ - Recommendations based on loaded context
@@ -0,0 +1,292 @@
1
+ ---
2
+ allowed-tools: Read, Write, Edit, Bash, Glob
3
+ ---
4
+
5
+ # Context Update
6
+
7
+ Update project context after significant changes to maintain AI agent memory accuracy.
8
+
9
+ ## Required Documentation Access
10
+
11
+ **MANDATORY:** Before updating context, query Context7 for best practices:
12
+
13
+ **Documentation Queries:**
14
+ - `mcp://context7/knowledge-management/documentation-maintenance` - Documentation update strategies
15
+ - `mcp://context7/agile/progress-tracking` - Progress tracking best practices
16
+ - `mcp://context7/project-management/status-reporting` - Status update patterns
17
+
18
+ **Why This is Required:**
19
+ - Ensures context updates follow documentation best practices
20
+ - Maintains consistency with agile progress tracking
21
+ - Provides effective status reporting patterns
22
+
23
+ ## Instructions
24
+
25
+ Intelligently update project context files based on detected changes.
26
+
27
+ ### 1. Verify context exists
28
+
29
+ ```bash
30
+ if [ ! -d ".claude/context" ]; then
31
+ echo "āŒ Context not found. Run /pm:context-create first."
32
+ exit 1
33
+ fi
34
+ ```
35
+
36
+ ### 2. Detect changes since last update
37
+
38
+ **Check multiple sources for changes:**
39
+
40
+ 1. **package.json changes:**
41
+ - Compare current dependencies with tech-context.md
42
+ - Detect new dependencies added
43
+ - Identify version updates
44
+ - Note removed dependencies
45
+
46
+ 2. **Directory structure changes:**
47
+ - Scan current directory structure
48
+ - Compare with project-structure.md
49
+ - Detect new directories
50
+ - Note removed directories
51
+
52
+ 3. **Git history (if available):**
53
+ - Check recent commits since last context update
54
+ - Extract meaningful changes from commit messages
55
+ - Identify completed features/tasks
56
+
57
+ 4. **README.md changes:**
58
+ - Compare current README with project-brief.md
59
+ - Detect updated project description
60
+ - Note new features or objectives
61
+
62
+ ### 3. Update relevant files
63
+
64
+ **Update tech-context.md if tech stack changed:**
65
+
66
+ If new dependencies detected:
67
+ ```markdown
68
+ ## Dependencies
69
+ [Existing dependencies]
70
+
71
+ **Recently Added:**
72
+ - [new-package-name]: [Purpose/description]
73
+ Added: [Date]
74
+ ```
75
+
76
+ If versions changed:
77
+ ```markdown
78
+ ## Development Environment
79
+ - Node.js: [new version] (updated from [old version])
80
+ ```
81
+
82
+ **Update progress.md for project progress:**
83
+
84
+ Always update:
85
+ 1. **Last Updated timestamp** to current date
86
+ 2. Move completed items from "In Progress" to "Completed"
87
+ 3. Update progress percentage based on completed tasks
88
+ 4. Add new tasks to "In Progress" or "Next Steps"
89
+ 5. Update or remove blockers
90
+
91
+ Example update:
92
+ ```markdown
93
+ ## Current Status
94
+ - Phase: [Current phase]
95
+ - Progress: [Updated]%
96
+ - Last Updated: [Current date]
97
+
98
+ ## Completed
99
+ - [x] [Previously in-progress task now completed]
100
+ - [x] [Another completed task]
101
+
102
+ ## In Progress
103
+ - [ ] [New current task]
104
+ - [ ] [Another current task]
105
+
106
+ ## Next Steps
107
+ 1. [Updated next action]
108
+ 2. [New next action]
109
+
110
+ ## Blockers
111
+ - [Updated or new blocker, or note "None" if resolved]
112
+
113
+ ## Recent Updates
114
+ - [Date]: [Description of recent change]
115
+ - [Date]: [Description of recent change]
116
+ ```
117
+
118
+ **Update project-structure.md if structure changed:**
119
+
120
+ If new directories detected:
121
+ ```markdown
122
+ ## Directory Layout
123
+ ```
124
+ project/
125
+ ā”œā”€ā”€ src/ # Source code
126
+ ā”œā”€ā”€ test/ # Tests
127
+ ā”œā”€ā”€ .claude/ # AutoPM configuration
128
+ ā”œā”€ā”€ [new-dir]/ # [Purpose of new directory]
129
+ └── docs/ # Documentation
130
+ ```
131
+ ```
132
+
133
+ If new key files added:
134
+ ```markdown
135
+ ## Key Files
136
+ - **[new-file]**: [Purpose and description]
137
+ ```
138
+
139
+ **Update project-brief.md if scope changed:**
140
+
141
+ Only if README.md or objectives significantly changed:
142
+ - Update project description
143
+ - Add new objectives
144
+ - Update success criteria
145
+ - Note scope expansions or reductions
146
+
147
+ ### 4. Generate change summary
148
+
149
+ Track what was updated:
150
+ ```json
151
+ {
152
+ "updatedFiles": [],
153
+ "changes": {
154
+ "techContext": {
155
+ "addedDependencies": [],
156
+ "updatedVersions": [],
157
+ "removedDependencies": []
158
+ },
159
+ "progress": {
160
+ "completedTasks": [],
161
+ "newTasks": [],
162
+ "progressIncrease": "X%",
163
+ "resolvedBlockers": []
164
+ },
165
+ "structure": {
166
+ "newDirectories": [],
167
+ "newFiles": []
168
+ },
169
+ "brief": {
170
+ "updated": false,
171
+ "changes": []
172
+ }
173
+ }
174
+ }
175
+ ```
176
+
177
+ ### 5. Smart update logic
178
+
179
+ **Only update files with actual changes:**
180
+
181
+ ```javascript
182
+ // Pseudocode for update logic
183
+ if (techStackChanged) {
184
+ updateTechContext();
185
+ updatedFiles.push("tech-context.md");
186
+ }
187
+
188
+ if (progressChanged || tasksCompleted) {
189
+ updateProgress();
190
+ updatedFiles.push("progress.md");
191
+ }
192
+
193
+ if (structureChanged) {
194
+ updateProjectStructure();
195
+ updatedFiles.push("project-structure.md");
196
+ }
197
+
198
+ if (scopeChanged) {
199
+ updateProjectBrief();
200
+ updatedFiles.push("project-brief.md");
201
+ }
202
+
203
+ // Always update progress.md with "Last Updated" timestamp
204
+ if (!updatedFiles.includes("progress.md")) {
205
+ updateProgressTimestamp();
206
+ updatedFiles.push("progress.md");
207
+ }
208
+ ```
209
+
210
+ ### 6. Confirm updates
211
+
212
+ Display comprehensive update summary:
213
+
214
+ ```
215
+ āœ… Context updated
216
+
217
+ ══════════════════════════════════════════════════════════════════
218
+
219
+ šŸ“ UPDATED FILES
220
+ - tech-context.md
221
+ - progress.md
222
+ - project-structure.md
223
+
224
+ ══════════════════════════════════════════════════════════════════
225
+
226
+ šŸ”§ TECH CONTEXT CHANGES
227
+ Added Dependencies:
228
+ - [new-package]: [Purpose]
229
+
230
+ Updated Versions:
231
+ - Node.js: [old] → [new]
232
+
233
+ ══════════════════════════════════════════════════════════════════
234
+
235
+ šŸ“Š PROGRESS UPDATES
236
+ Completed Tasks:
237
+ āœ… [Task 1]
238
+ āœ… [Task 2]
239
+
240
+ Progress: [Old]% → [New]%
241
+ Phase: [Phase name]
242
+
243
+ Next Steps:
244
+ 1. [Next action]
245
+ 2. [Next action]
246
+
247
+ ══════════════════════════════════════════════════════════════════
248
+
249
+ šŸ“ STRUCTURE CHANGES
250
+ New Directories:
251
+ + [new-dir]/ # [Purpose]
252
+
253
+ New Key Files:
254
+ + [new-file] # [Purpose]
255
+
256
+ ══════════════════════════════════════════════════════════════════
257
+
258
+ šŸ’” RECOMMENDATIONS
259
+ - Run /pm:context-prime to reload updated context
260
+ - Consider updating project-brief.md if objectives changed
261
+ - [Other relevant recommendations]
262
+
263
+ ══════════════════════════════════════════════════════════════════
264
+ ```
265
+
266
+ ### 7. Handle no-change scenario
267
+
268
+ If no changes detected:
269
+
270
+ ```
271
+ ā„¹ļø No significant changes detected since last update
272
+
273
+ Context is up-to-date:
274
+ - Tech stack: No changes
275
+ - Progress: No new completions
276
+ - Structure: No changes
277
+ - Last updated: [Date from progress.md]
278
+
279
+ šŸ’” Context will be updated when changes are detected:
280
+ - New dependencies in package.json
281
+ - New directories or files
282
+ - Changes to README.md
283
+ - Git commits (if available)
284
+ ```
285
+
286
+ ## Output Format
287
+
288
+ Return:
289
+ - List of updated files
290
+ - Detailed change summary for each file
291
+ - Recommendations based on changes
292
+ - Prompt to reload context if significant updates made
@@ -7,8 +7,27 @@ allowed-tools: Bash, Read, Write, LS, Task
7
7
  Break epic into concrete, actionable tasks.
8
8
 
9
9
  ## Usage
10
+
11
+ **Single Epic:**
12
+ ```bash
13
+ /pm:epic-decompose <feature_name>
10
14
  ```
15
+
16
+ **Multi-Epic (decomposes ALL epics at once):**
17
+ ```bash
11
18
  /pm:epic-decompose <feature_name>
19
+ # Example: /pm:epic-decompose ecommerce-platform
20
+ # This will automatically decompose ALL epics:
21
+ # - 01-infrastructure
22
+ # - 02-auth-backend
23
+ # - 03-product-api
24
+ # - etc.
25
+ ```
26
+
27
+ **Single Epic from Multi-Epic structure:**
28
+ ```bash
29
+ /pm:epic-decompose <feature_name>/<epic_folder>
30
+ # Example: /pm:epic-decompose ecommerce-platform/01-infrastructure
12
31
  ```
13
32
 
14
33
  ## Required Documentation Access
@@ -37,7 +37,7 @@ Merge completed epic branch back to main branch.
37
37
 
38
38
  2. **Check for active agents:**
39
39
  Read `.claude/epics/$ARGUMENTS/execution-status.md`
40
- If active agents exist: "āš ļø Active agents detected. Stop them first with: /pm:epic-stop $ARGUMENTS"
40
+ If active agents exist: "āš ļø Active agents detected. Stop them first with: /pm:epic-close $ARGUMENTS"
41
41
 
42
42
  ## Instructions
43
43
 
@@ -123,7 +123,7 @@ Options:
123
123
  git merge --abort
124
124
 
125
125
  3. Get help:
126
- /pm:epic-resolve $ARGUMENTS
126
+ /pm:epic-close $ARGUMENTS
127
127
 
128
128
  Branch preserved at: epic/$ARGUMENTS
129
129
  "
@@ -295,9 +295,27 @@ class PrdParser {
295
295
  console.log(` • Security: ${technicalApproach.security.length} controls`);
296
296
  }
297
297
 
298
+ // Determine if PRD is complex enough to suggest splitting
299
+ const componentCount =
300
+ (technicalApproach.frontend.length > 0 ? 1 : 0) +
301
+ (technicalApproach.backend.length > 0 ? 1 : 0) +
302
+ (technicalApproach.data.length > 0 ? 1 : 0) +
303
+ (technicalApproach.security.length > 0 ? 1 : 0);
304
+
305
+ const isComplexPrd = componentCount >= 3 || tasks.length > 10;
306
+
298
307
  console.log(`\nšŸ’” Next Steps:`);
299
308
  console.log(` 1. Review epic: /pm:epic-show ${featureName}`);
300
- console.log(` 2. Decompose into tasks: /pm:epic-decompose ${featureName}`);
309
+
310
+ if (isComplexPrd) {
311
+ console.log(` 2. Consider splitting into epics: /pm:epic-split ${featureName}`);
312
+ console.log(` (Complex PRD detected - ${componentCount} components, ${tasks.length} tasks)`);
313
+ console.log(` OR decompose as single epic: /pm:epic-decompose ${featureName}`);
314
+ } else {
315
+ console.log(` 2. Decompose into tasks: /pm:epic-decompose ${featureName}`);
316
+ console.log(` (For complex PRDs, consider: /pm:epic-split ${featureName})`);
317
+ }
318
+
301
319
  console.log(` 3. Sync to GitHub: /pm:epic-sync ${featureName}`);
302
320
  console.log(` 4. Start implementation: /pm:issue-start TASK-1`);
303
321
 
@@ -0,0 +1,25 @@
1
+ # Project Progress
2
+
3
+ ## Current Status
4
+ - Phase: [Phase name]
5
+ - Progress: [X]%
6
+ - Last Updated: [Date]
7
+
8
+ ## Completed
9
+ - [x] Task 1
10
+ - [x] Task 2
11
+
12
+ ## In Progress
13
+ - [ ] Task 3
14
+ - [ ] Task 4
15
+
16
+ ## Next Steps
17
+ 1. [Next action]
18
+ 2. [Next action]
19
+
20
+ ## Blockers
21
+ - [Any blockers]
22
+
23
+ ## Recent Updates
24
+ - [Recent change 1]
25
+ - [Recent change 2]
@@ -0,0 +1,19 @@
1
+ # Project Brief
2
+
3
+ ## Project Name
4
+ [Project name]
5
+
6
+ ## Scope & Objectives
7
+ - Goal: [Primary goal]
8
+ - Target users: [User base]
9
+ - Key outcomes: [Expected results]
10
+
11
+ ## Constraints
12
+ - Timeline: [Time constraints]
13
+ - Resources: [Available resources]
14
+ - Technical: [Technical limitations]
15
+
16
+ ## Success Criteria
17
+ - [Success criterion 1]
18
+ - [Success criterion 2]
19
+ - [Success criterion 3]
@@ -0,0 +1,23 @@
1
+ # Project Structure
2
+
3
+ ## Directory Layout
4
+ ```
5
+ project/
6
+ ā”œā”€ā”€ src/ # Source code
7
+ ā”œā”€ā”€ test/ # Tests
8
+ ā”œā”€ā”€ .claude/ # AutoPM configuration
9
+ └── docs/ # Documentation
10
+ ```
11
+
12
+ ## Key Files
13
+ - **package.json**: Dependencies and scripts
14
+ - **.claude/**: PM configuration
15
+ - **README.md**: Project documentation
16
+
17
+ ## Module Organization
18
+ - [Module description]
19
+ - [Module description]
20
+
21
+ ## Configuration Files
22
+ - [Config file and purpose]
23
+ - [Config file and purpose]
@@ -0,0 +1,23 @@
1
+ # Technical Context
2
+
3
+ ## Technology Stack
4
+ - **Frontend**: [Technologies]
5
+ - **Backend**: [Technologies]
6
+ - **Database**: [Database]
7
+ - **Infrastructure**: [Infrastructure]
8
+
9
+ ## Development Environment
10
+ - Node.js: [version]
11
+ - Package Manager: [npm/yarn/pnpm]
12
+ - Testing Framework: [Jest/etc]
13
+
14
+ ## Dependencies
15
+ [Key dependencies and their purposes]
16
+
17
+ ## Architecture Patterns
18
+ - [Pattern 1]
19
+ - [Pattern 2]
20
+
21
+ ## Development Practices
22
+ - [Practice 1]
23
+ - [Practice 2]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-autopm",
3
- "version": "1.23.2",
3
+ "version": "1.24.0",
4
4
  "description": "Autonomous Project Management Framework for Claude Code - Advanced AI-powered development automation",
5
5
  "main": "bin/autopm.js",
6
6
  "bin": {