claude-autopm 2.7.0 → 2.8.2

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 (281) hide show
  1. package/README.md +307 -56
  2. package/autopm/.claude/.env +158 -0
  3. package/autopm/.claude/settings.local.json +9 -0
  4. package/bin/autopm.js +11 -2
  5. package/bin/commands/epic.js +23 -3
  6. package/bin/commands/plugin.js +395 -0
  7. package/bin/commands/team.js +184 -10
  8. package/install/install.js +223 -4
  9. package/lib/cli/commands/issue.js +360 -20
  10. package/lib/plugins/PluginManager.js +1328 -0
  11. package/lib/plugins/PluginManager.old.js +400 -0
  12. package/lib/providers/AzureDevOpsProvider.js +575 -0
  13. package/lib/providers/GitHubProvider.js +475 -0
  14. package/lib/services/EpicService.js +1092 -3
  15. package/lib/services/IssueService.js +991 -0
  16. package/package.json +9 -1
  17. package/scripts/publish-plugins.sh +166 -0
  18. package/autopm/.claude/agents/cloud/README.md +0 -55
  19. package/autopm/.claude/agents/cloud/aws-cloud-architect.md +0 -521
  20. package/autopm/.claude/agents/cloud/azure-cloud-architect.md +0 -436
  21. package/autopm/.claude/agents/cloud/gcp-cloud-architect.md +0 -385
  22. package/autopm/.claude/agents/cloud/gcp-cloud-functions-engineer.md +0 -306
  23. package/autopm/.claude/agents/cloud/gemini-api-expert.md +0 -880
  24. package/autopm/.claude/agents/cloud/kubernetes-orchestrator.md +0 -566
  25. package/autopm/.claude/agents/cloud/openai-python-expert.md +0 -1087
  26. package/autopm/.claude/agents/cloud/terraform-infrastructure-expert.md +0 -454
  27. package/autopm/.claude/agents/core/agent-manager.md +0 -296
  28. package/autopm/.claude/agents/core/code-analyzer.md +0 -131
  29. package/autopm/.claude/agents/core/file-analyzer.md +0 -162
  30. package/autopm/.claude/agents/core/test-runner.md +0 -200
  31. package/autopm/.claude/agents/data/airflow-orchestration-expert.md +0 -52
  32. package/autopm/.claude/agents/data/kedro-pipeline-expert.md +0 -50
  33. package/autopm/.claude/agents/data/langgraph-workflow-expert.md +0 -520
  34. package/autopm/.claude/agents/databases/README.md +0 -50
  35. package/autopm/.claude/agents/databases/bigquery-expert.md +0 -392
  36. package/autopm/.claude/agents/databases/cosmosdb-expert.md +0 -368
  37. package/autopm/.claude/agents/databases/mongodb-expert.md +0 -398
  38. package/autopm/.claude/agents/databases/postgresql-expert.md +0 -321
  39. package/autopm/.claude/agents/databases/redis-expert.md +0 -52
  40. package/autopm/.claude/agents/devops/README.md +0 -52
  41. package/autopm/.claude/agents/devops/azure-devops-specialist.md +0 -308
  42. package/autopm/.claude/agents/devops/docker-containerization-expert.md +0 -298
  43. package/autopm/.claude/agents/devops/github-operations-specialist.md +0 -335
  44. package/autopm/.claude/agents/devops/mcp-context-manager.md +0 -319
  45. package/autopm/.claude/agents/devops/observability-engineer.md +0 -574
  46. package/autopm/.claude/agents/devops/ssh-operations-expert.md +0 -1093
  47. package/autopm/.claude/agents/devops/traefik-proxy-expert.md +0 -444
  48. package/autopm/.claude/agents/frameworks/README.md +0 -64
  49. package/autopm/.claude/agents/frameworks/e2e-test-engineer.md +0 -360
  50. package/autopm/.claude/agents/frameworks/nats-messaging-expert.md +0 -254
  51. package/autopm/.claude/agents/frameworks/react-frontend-engineer.md +0 -217
  52. package/autopm/.claude/agents/frameworks/react-ui-expert.md +0 -226
  53. package/autopm/.claude/agents/frameworks/tailwindcss-expert.md +0 -770
  54. package/autopm/.claude/agents/frameworks/ux-design-expert.md +0 -244
  55. package/autopm/.claude/agents/integration/message-queue-engineer.md +0 -794
  56. package/autopm/.claude/agents/languages/README.md +0 -50
  57. package/autopm/.claude/agents/languages/bash-scripting-expert.md +0 -541
  58. package/autopm/.claude/agents/languages/javascript-frontend-engineer.md +0 -197
  59. package/autopm/.claude/agents/languages/nodejs-backend-engineer.md +0 -226
  60. package/autopm/.claude/agents/languages/python-backend-engineer.md +0 -214
  61. package/autopm/.claude/agents/languages/python-backend-expert.md +0 -289
  62. package/autopm/.claude/agents/testing/frontend-testing-engineer.md +0 -395
  63. package/autopm/.claude/commands/ai/langgraph-workflow.md +0 -65
  64. package/autopm/.claude/commands/ai/openai-chat.md +0 -65
  65. package/autopm/.claude/commands/azure/COMMANDS.md +0 -107
  66. package/autopm/.claude/commands/azure/COMMAND_MAPPING.md +0 -252
  67. package/autopm/.claude/commands/azure/INTEGRATION_FIX.md +0 -103
  68. package/autopm/.claude/commands/azure/README.md +0 -246
  69. package/autopm/.claude/commands/azure/active-work.md +0 -198
  70. package/autopm/.claude/commands/azure/aliases.md +0 -143
  71. package/autopm/.claude/commands/azure/blocked-items.md +0 -287
  72. package/autopm/.claude/commands/azure/clean.md +0 -93
  73. package/autopm/.claude/commands/azure/docs-query.md +0 -48
  74. package/autopm/.claude/commands/azure/feature-decompose.md +0 -380
  75. package/autopm/.claude/commands/azure/feature-list.md +0 -61
  76. package/autopm/.claude/commands/azure/feature-new.md +0 -115
  77. package/autopm/.claude/commands/azure/feature-show.md +0 -205
  78. package/autopm/.claude/commands/azure/feature-start.md +0 -130
  79. package/autopm/.claude/commands/azure/fix-integration-example.md +0 -93
  80. package/autopm/.claude/commands/azure/help.md +0 -150
  81. package/autopm/.claude/commands/azure/import-us.md +0 -269
  82. package/autopm/.claude/commands/azure/init.md +0 -211
  83. package/autopm/.claude/commands/azure/next-task.md +0 -262
  84. package/autopm/.claude/commands/azure/search.md +0 -160
  85. package/autopm/.claude/commands/azure/sprint-status.md +0 -235
  86. package/autopm/.claude/commands/azure/standup.md +0 -260
  87. package/autopm/.claude/commands/azure/sync-all.md +0 -99
  88. package/autopm/.claude/commands/azure/task-analyze.md +0 -186
  89. package/autopm/.claude/commands/azure/task-close.md +0 -329
  90. package/autopm/.claude/commands/azure/task-edit.md +0 -145
  91. package/autopm/.claude/commands/azure/task-list.md +0 -263
  92. package/autopm/.claude/commands/azure/task-new.md +0 -84
  93. package/autopm/.claude/commands/azure/task-reopen.md +0 -79
  94. package/autopm/.claude/commands/azure/task-show.md +0 -126
  95. package/autopm/.claude/commands/azure/task-start.md +0 -301
  96. package/autopm/.claude/commands/azure/task-status.md +0 -65
  97. package/autopm/.claude/commands/azure/task-sync.md +0 -67
  98. package/autopm/.claude/commands/azure/us-edit.md +0 -164
  99. package/autopm/.claude/commands/azure/us-list.md +0 -202
  100. package/autopm/.claude/commands/azure/us-new.md +0 -265
  101. package/autopm/.claude/commands/azure/us-parse.md +0 -253
  102. package/autopm/.claude/commands/azure/us-show.md +0 -188
  103. package/autopm/.claude/commands/azure/us-status.md +0 -320
  104. package/autopm/.claude/commands/azure/validate.md +0 -86
  105. package/autopm/.claude/commands/azure/work-item-sync.md +0 -47
  106. package/autopm/.claude/commands/cloud/infra-deploy.md +0 -38
  107. package/autopm/.claude/commands/github/workflow-create.md +0 -42
  108. package/autopm/.claude/commands/infrastructure/ssh-security.md +0 -65
  109. package/autopm/.claude/commands/infrastructure/traefik-setup.md +0 -65
  110. package/autopm/.claude/commands/kubernetes/deploy.md +0 -37
  111. package/autopm/.claude/commands/playwright/test-scaffold.md +0 -38
  112. package/autopm/.claude/commands/pm/blocked.md +0 -28
  113. package/autopm/.claude/commands/pm/clean.md +0 -119
  114. package/autopm/.claude/commands/pm/context-create.md +0 -136
  115. package/autopm/.claude/commands/pm/context-prime.md +0 -170
  116. package/autopm/.claude/commands/pm/context-update.md +0 -292
  117. package/autopm/.claude/commands/pm/context.md +0 -28
  118. package/autopm/.claude/commands/pm/epic-close.md +0 -86
  119. package/autopm/.claude/commands/pm/epic-decompose.md +0 -370
  120. package/autopm/.claude/commands/pm/epic-edit.md +0 -83
  121. package/autopm/.claude/commands/pm/epic-list.md +0 -30
  122. package/autopm/.claude/commands/pm/epic-merge.md +0 -222
  123. package/autopm/.claude/commands/pm/epic-oneshot.md +0 -119
  124. package/autopm/.claude/commands/pm/epic-refresh.md +0 -119
  125. package/autopm/.claude/commands/pm/epic-show.md +0 -28
  126. package/autopm/.claude/commands/pm/epic-split.md +0 -120
  127. package/autopm/.claude/commands/pm/epic-start.md +0 -195
  128. package/autopm/.claude/commands/pm/epic-status.md +0 -28
  129. package/autopm/.claude/commands/pm/epic-sync-modular.md +0 -338
  130. package/autopm/.claude/commands/pm/epic-sync-original.md +0 -473
  131. package/autopm/.claude/commands/pm/epic-sync.md +0 -486
  132. package/autopm/.claude/commands/pm/help.md +0 -28
  133. package/autopm/.claude/commands/pm/import.md +0 -115
  134. package/autopm/.claude/commands/pm/in-progress.md +0 -28
  135. package/autopm/.claude/commands/pm/init.md +0 -28
  136. package/autopm/.claude/commands/pm/issue-analyze.md +0 -202
  137. package/autopm/.claude/commands/pm/issue-close.md +0 -119
  138. package/autopm/.claude/commands/pm/issue-edit.md +0 -93
  139. package/autopm/.claude/commands/pm/issue-reopen.md +0 -87
  140. package/autopm/.claude/commands/pm/issue-show.md +0 -41
  141. package/autopm/.claude/commands/pm/issue-start.md +0 -234
  142. package/autopm/.claude/commands/pm/issue-status.md +0 -95
  143. package/autopm/.claude/commands/pm/issue-sync.md +0 -411
  144. package/autopm/.claude/commands/pm/next.md +0 -28
  145. package/autopm/.claude/commands/pm/prd-edit.md +0 -82
  146. package/autopm/.claude/commands/pm/prd-list.md +0 -28
  147. package/autopm/.claude/commands/pm/prd-new.md +0 -55
  148. package/autopm/.claude/commands/pm/prd-parse.md +0 -42
  149. package/autopm/.claude/commands/pm/prd-status.md +0 -28
  150. package/autopm/.claude/commands/pm/search.md +0 -28
  151. package/autopm/.claude/commands/pm/standup.md +0 -28
  152. package/autopm/.claude/commands/pm/status.md +0 -28
  153. package/autopm/.claude/commands/pm/sync.md +0 -99
  154. package/autopm/.claude/commands/pm/test-reference-update.md +0 -151
  155. package/autopm/.claude/commands/pm/validate.md +0 -28
  156. package/autopm/.claude/commands/pm/what-next.md +0 -28
  157. package/autopm/.claude/commands/python/api-scaffold.md +0 -50
  158. package/autopm/.claude/commands/python/docs-query.md +0 -48
  159. package/autopm/.claude/commands/react/app-scaffold.md +0 -50
  160. package/autopm/.claude/commands/testing/prime.md +0 -314
  161. package/autopm/.claude/commands/testing/run.md +0 -125
  162. package/autopm/.claude/commands/ui/bootstrap-scaffold.md +0 -65
  163. package/autopm/.claude/commands/ui/tailwind-system.md +0 -64
  164. package/autopm/.claude/rules/ai-integration-patterns.md +0 -219
  165. package/autopm/.claude/rules/ci-cd-kubernetes-strategy.md +0 -25
  166. package/autopm/.claude/rules/database-management-strategy.md +0 -17
  167. package/autopm/.claude/rules/database-pipeline.md +0 -94
  168. package/autopm/.claude/rules/devops-troubleshooting-playbook.md +0 -450
  169. package/autopm/.claude/rules/docker-first-development.md +0 -404
  170. package/autopm/.claude/rules/infrastructure-pipeline.md +0 -128
  171. package/autopm/.claude/rules/performance-guidelines.md +0 -403
  172. package/autopm/.claude/rules/ui-development-standards.md +0 -281
  173. package/autopm/.claude/rules/ui-framework-rules.md +0 -151
  174. package/autopm/.claude/rules/ux-design-rules.md +0 -209
  175. package/autopm/.claude/rules/visual-testing.md +0 -223
  176. package/autopm/.claude/scripts/azure/README.md +0 -192
  177. package/autopm/.claude/scripts/azure/active-work.js +0 -524
  178. package/autopm/.claude/scripts/azure/active-work.sh +0 -20
  179. package/autopm/.claude/scripts/azure/blocked.js +0 -520
  180. package/autopm/.claude/scripts/azure/blocked.sh +0 -20
  181. package/autopm/.claude/scripts/azure/daily.js +0 -533
  182. package/autopm/.claude/scripts/azure/daily.sh +0 -20
  183. package/autopm/.claude/scripts/azure/dashboard.js +0 -970
  184. package/autopm/.claude/scripts/azure/dashboard.sh +0 -20
  185. package/autopm/.claude/scripts/azure/feature-list.js +0 -254
  186. package/autopm/.claude/scripts/azure/feature-list.sh +0 -20
  187. package/autopm/.claude/scripts/azure/feature-show.js +0 -7
  188. package/autopm/.claude/scripts/azure/feature-show.sh +0 -20
  189. package/autopm/.claude/scripts/azure/feature-status.js +0 -604
  190. package/autopm/.claude/scripts/azure/feature-status.sh +0 -20
  191. package/autopm/.claude/scripts/azure/help.js +0 -342
  192. package/autopm/.claude/scripts/azure/help.sh +0 -20
  193. package/autopm/.claude/scripts/azure/next-task.js +0 -508
  194. package/autopm/.claude/scripts/azure/next-task.sh +0 -20
  195. package/autopm/.claude/scripts/azure/search.js +0 -469
  196. package/autopm/.claude/scripts/azure/search.sh +0 -20
  197. package/autopm/.claude/scripts/azure/setup.js +0 -745
  198. package/autopm/.claude/scripts/azure/setup.sh +0 -20
  199. package/autopm/.claude/scripts/azure/sprint-report.js +0 -1012
  200. package/autopm/.claude/scripts/azure/sprint-report.sh +0 -20
  201. package/autopm/.claude/scripts/azure/sync.js +0 -563
  202. package/autopm/.claude/scripts/azure/sync.sh +0 -20
  203. package/autopm/.claude/scripts/azure/us-list.js +0 -210
  204. package/autopm/.claude/scripts/azure/us-list.sh +0 -20
  205. package/autopm/.claude/scripts/azure/us-status.js +0 -238
  206. package/autopm/.claude/scripts/azure/us-status.sh +0 -20
  207. package/autopm/.claude/scripts/azure/validate.js +0 -626
  208. package/autopm/.claude/scripts/azure/validate.sh +0 -20
  209. package/autopm/.claude/scripts/azure/wrapper-template.sh +0 -20
  210. package/autopm/.claude/scripts/github/dependency-tracker.js +0 -554
  211. package/autopm/.claude/scripts/github/dependency-validator.js +0 -545
  212. package/autopm/.claude/scripts/github/dependency-visualizer.js +0 -477
  213. package/autopm/.claude/scripts/pm/analytics.js +0 -425
  214. package/autopm/.claude/scripts/pm/blocked.js +0 -164
  215. package/autopm/.claude/scripts/pm/blocked.sh +0 -78
  216. package/autopm/.claude/scripts/pm/clean.js +0 -464
  217. package/autopm/.claude/scripts/pm/context-create.js +0 -216
  218. package/autopm/.claude/scripts/pm/context-prime.js +0 -335
  219. package/autopm/.claude/scripts/pm/context-update.js +0 -344
  220. package/autopm/.claude/scripts/pm/context.js +0 -338
  221. package/autopm/.claude/scripts/pm/epic-close.js +0 -347
  222. package/autopm/.claude/scripts/pm/epic-edit.js +0 -382
  223. package/autopm/.claude/scripts/pm/epic-list.js +0 -273
  224. package/autopm/.claude/scripts/pm/epic-list.sh +0 -109
  225. package/autopm/.claude/scripts/pm/epic-show.js +0 -291
  226. package/autopm/.claude/scripts/pm/epic-show.sh +0 -105
  227. package/autopm/.claude/scripts/pm/epic-split.js +0 -522
  228. package/autopm/.claude/scripts/pm/epic-start/epic-start.js +0 -183
  229. package/autopm/.claude/scripts/pm/epic-start/epic-start.sh +0 -94
  230. package/autopm/.claude/scripts/pm/epic-status.js +0 -291
  231. package/autopm/.claude/scripts/pm/epic-status.sh +0 -104
  232. package/autopm/.claude/scripts/pm/epic-sync/README.md +0 -208
  233. package/autopm/.claude/scripts/pm/epic-sync/create-epic-issue.sh +0 -77
  234. package/autopm/.claude/scripts/pm/epic-sync/create-task-issues.sh +0 -86
  235. package/autopm/.claude/scripts/pm/epic-sync/update-epic-file.sh +0 -79
  236. package/autopm/.claude/scripts/pm/epic-sync/update-references.sh +0 -89
  237. package/autopm/.claude/scripts/pm/epic-sync.sh +0 -137
  238. package/autopm/.claude/scripts/pm/help.js +0 -92
  239. package/autopm/.claude/scripts/pm/help.sh +0 -90
  240. package/autopm/.claude/scripts/pm/in-progress.js +0 -178
  241. package/autopm/.claude/scripts/pm/in-progress.sh +0 -93
  242. package/autopm/.claude/scripts/pm/init.js +0 -321
  243. package/autopm/.claude/scripts/pm/init.sh +0 -178
  244. package/autopm/.claude/scripts/pm/issue-close.js +0 -232
  245. package/autopm/.claude/scripts/pm/issue-edit.js +0 -310
  246. package/autopm/.claude/scripts/pm/issue-show.js +0 -272
  247. package/autopm/.claude/scripts/pm/issue-start.js +0 -181
  248. package/autopm/.claude/scripts/pm/issue-sync/format-comment.sh +0 -468
  249. package/autopm/.claude/scripts/pm/issue-sync/gather-updates.sh +0 -460
  250. package/autopm/.claude/scripts/pm/issue-sync/post-comment.sh +0 -330
  251. package/autopm/.claude/scripts/pm/issue-sync/preflight-validation.sh +0 -348
  252. package/autopm/.claude/scripts/pm/issue-sync/update-frontmatter.sh +0 -387
  253. package/autopm/.claude/scripts/pm/lib/README.md +0 -85
  254. package/autopm/.claude/scripts/pm/lib/epic-discovery.js +0 -119
  255. package/autopm/.claude/scripts/pm/lib/logger.js +0 -78
  256. package/autopm/.claude/scripts/pm/next.js +0 -189
  257. package/autopm/.claude/scripts/pm/next.sh +0 -72
  258. package/autopm/.claude/scripts/pm/optimize.js +0 -407
  259. package/autopm/.claude/scripts/pm/pr-create.js +0 -337
  260. package/autopm/.claude/scripts/pm/pr-list.js +0 -257
  261. package/autopm/.claude/scripts/pm/prd-list.js +0 -242
  262. package/autopm/.claude/scripts/pm/prd-list.sh +0 -103
  263. package/autopm/.claude/scripts/pm/prd-new.js +0 -684
  264. package/autopm/.claude/scripts/pm/prd-parse.js +0 -547
  265. package/autopm/.claude/scripts/pm/prd-status.js +0 -152
  266. package/autopm/.claude/scripts/pm/prd-status.sh +0 -63
  267. package/autopm/.claude/scripts/pm/release.js +0 -460
  268. package/autopm/.claude/scripts/pm/search.js +0 -192
  269. package/autopm/.claude/scripts/pm/search.sh +0 -89
  270. package/autopm/.claude/scripts/pm/standup.js +0 -362
  271. package/autopm/.claude/scripts/pm/standup.sh +0 -95
  272. package/autopm/.claude/scripts/pm/status.js +0 -148
  273. package/autopm/.claude/scripts/pm/status.sh +0 -59
  274. package/autopm/.claude/scripts/pm/sync-batch.js +0 -337
  275. package/autopm/.claude/scripts/pm/sync.js +0 -343
  276. package/autopm/.claude/scripts/pm/template-list.js +0 -141
  277. package/autopm/.claude/scripts/pm/template-new.js +0 -366
  278. package/autopm/.claude/scripts/pm/validate.js +0 -274
  279. package/autopm/.claude/scripts/pm/validate.sh +0 -106
  280. package/autopm/.claude/scripts/pm/what-next.js +0 -660
  281. package/bin/node/azure-feature-show.js +0 -7
@@ -1,411 +0,0 @@
1
- ---
2
- allowed-tools: Bash, Read, Write, LS
3
- ---
4
-
5
- # Issue Sync - Modular Version
6
-
7
- Push local updates as GitHub issue comments for transparent audit trail.
8
-
9
- ## Usage
10
- ```
11
- /pm:issue-sync <issue_number>
12
- ```
13
-
14
- ## Required Documentation Access
15
-
16
- **MANDATORY:** Before project management workflows, query Context7 for best practices:
17
-
18
- **Documentation Queries:**
19
- - `mcp://context7/agile/epic-management` - epic management best practices
20
- - `mcp://context7/project-management/issue-tracking` - issue tracking best practices
21
- - `mcp://context7/agile/task-breakdown` - task breakdown best practices
22
- - `mcp://context7/project-management/workflow` - workflow best practices
23
-
24
- **Why This is Required:**
25
- - Ensures adherence to current industry standards and best practices
26
- - Prevents outdated or incorrect implementation patterns
27
- - Provides access to latest framework/tool documentation
28
- - Reduces errors from stale knowledge or assumptions
29
-
30
-
31
- ## Quick Check
32
-
33
- ```bash
34
- # Verify issue updates exist
35
- test -d .claude/epics/*/updates/$ARGUMENTS || echo "❌ No updates for issue #$ARGUMENTS. Run: /pm:issue-start $ARGUMENTS"
36
-
37
- # Check progress file
38
- find .claude/epics/*/updates/$ARGUMENTS -name progress.md 2>/dev/null | head -1
39
- ```
40
-
41
- If no progress.md found: "❌ No progress tracking. Initialize with: /pm:issue-start $ARGUMENTS"
42
-
43
- ## Instructions
44
-
45
- The issue sync process is now modularized into 5 specialized scripts that handle different aspects of synchronization. Each script is designed for reliability, testability, and maintainability.
46
-
47
- ### 1. Preflight Validation
48
-
49
- Run comprehensive validation checks before syncing:
50
-
51
- ```bash
52
- # Run preflight validation
53
- bash .claude/scripts/pm/issue-sync/preflight-validation.sh "$ARGUMENTS"
54
-
55
- if [[ $? -ne 0 ]]; then
56
- echo "❌ Preflight validation failed"
57
- exit 1
58
- fi
59
-
60
- # Extract validated paths from preflight output
61
- epic_name=$(bash .claude/scripts/pm/issue-sync/preflight-validation.sh "$ARGUMENTS" | grep "Epic:" | cut -d: -f2- | xargs)
62
- updates_dir=$(bash .claude/scripts/pm/issue-sync/preflight-validation.sh "$ARGUMENTS" | grep "Updates Directory:" | cut -d: -f2- | xargs)
63
- progress_file=$(bash .claude/scripts/pm/issue-sync/preflight-validation.sh "$ARGUMENTS" | grep "Progress File:" | cut -d: -f2- | xargs)
64
-
65
- echo "✅ Preflight checks passed"
66
- ```
67
-
68
- This script handles:
69
- - ✅ Repository protection checks (prevents syncing to template repos)
70
- - ✅ GitHub CLI authentication validation
71
- - ✅ Issue existence and state verification
72
- - ✅ Local updates directory validation
73
- - ✅ Sync timing checks (prevents too frequent syncs)
74
- - ✅ Changes verification (ensures there's something to sync)
75
-
76
- ### 2. Gather Updates
77
-
78
- Collect all local development updates:
79
-
80
- ```bash
81
- # Get last sync timestamp from progress file
82
- last_sync=$(grep '^last_sync:' "$progress_file" | sed 's/^last_sync: *//')
83
-
84
- # Gather all updates since last sync
85
- consolidated_updates=$(bash .claude/scripts/pm/issue-sync/gather-updates.sh \
86
- "$ARGUMENTS" \
87
- "$updates_dir" \
88
- "$last_sync")
89
-
90
- echo "✅ Updates gathered: $consolidated_updates"
91
- ```
92
-
93
- This script handles:
94
- - ✅ Progress updates extraction from progress.md
95
- - ✅ Technical notes gathering from notes.md
96
- - ✅ Commit references collection (manual or automatic)
97
- - ✅ Acceptance criteria status tracking
98
- - ✅ Next steps and blockers compilation
99
- - ✅ Incremental update detection based on last sync
100
- - ✅ Consolidation into single update file
101
-
102
- ### 3. Format Comment
103
-
104
- Format consolidated updates into a GitHub-ready comment:
105
-
106
- ```bash
107
- # Check if task is complete
108
- completion=$(grep '^completion:' "$progress_file" | sed 's/^completion: *//' | tr -d '%')
109
- is_completion="false"
110
- if [[ "$completion" == "100" ]]; then
111
- is_completion="true"
112
- fi
113
-
114
- # Format the comment
115
- formatted_comment=$(bash .claude/scripts/pm/issue-sync/format-comment.sh \
116
- "$ARGUMENTS" \
117
- "$consolidated_updates" \
118
- "$progress_file" \
119
- "$is_completion")
120
-
121
- echo "✅ Comment formatted: $formatted_comment"
122
- ```
123
-
124
- This script handles:
125
- - ✅ Progress update formatting with sections
126
- - ✅ Completion comment formatting for finished tasks
127
- - ✅ Acceptance criteria status formatting
128
- - ✅ Recent commits formatting
129
- - ✅ Comment size validation (65,536 character limit)
130
- - ✅ Automatic truncation with notice if needed
131
- - ✅ Testing and documentation status formatting
132
-
133
- ### 4. Post Comment
134
-
135
- Post the formatted comment to GitHub:
136
-
137
- ```bash
138
- # Post comment to GitHub issue
139
- comment_url=$(bash .claude/scripts/pm/issue-sync/post-comment.sh \
140
- "$ARGUMENTS" \
141
- "$formatted_comment" \
142
- "$is_completion")
143
-
144
- if [[ $? -eq 0 ]]; then
145
- echo "✅ Comment posted: $comment_url"
146
- else
147
- echo "❌ Failed to post comment"
148
- exit 1
149
- fi
150
- ```
151
-
152
- This script handles:
153
- - ✅ GitHub issue comment posting
154
- - ✅ Closed issue handling with confirmation
155
- - ✅ Dry run mode support (AUTOPM_DRY_RUN=true)
156
- - ✅ Comment verification after posting
157
- - ✅ Error recovery suggestions
158
- - ✅ URL extraction for tracking
159
-
160
- ### 5. Update Frontmatter
161
-
162
- Update local metadata after successful sync:
163
-
164
- ```bash
165
- # Update progress.md frontmatter with sync information
166
- bash .claude/scripts/pm/issue-sync/update-frontmatter.sh \
167
- "$ARGUMENTS" \
168
- "$progress_file" \
169
- "$comment_url" \
170
- "$is_completion"
171
-
172
- echo "✅ Frontmatter updated"
173
- ```
174
-
175
- This script handles:
176
- - ✅ Last sync timestamp update
177
- - ✅ Comment URL tracking
178
- - ✅ Completion status update (if applicable)
179
- - ✅ Issue state synchronization from GitHub
180
- - ✅ Automatic backup before modification
181
- - ✅ Verification and rollback on failure
182
- - ✅ Old backup cleanup (keeps last 5)
183
-
184
- ## Complete Workflow Example
185
-
186
- Here's the complete modular issue sync workflow:
187
-
188
- ```bash
189
- #!/bin/bash
190
- # Complete issue sync using modular scripts
191
-
192
- ISSUE_NUMBER="$ARGUMENTS"
193
-
194
- echo "🚀 Starting modular issue sync for: #$ISSUE_NUMBER"
195
-
196
- # Step 1: Preflight validation
197
- echo "🔍 Running preflight validation..."
198
- if ! bash .claude/scripts/pm/issue-sync/preflight-validation.sh "$ISSUE_NUMBER"; then
199
- echo "❌ Preflight validation failed"
200
- exit 1
201
- fi
202
-
203
- # Extract paths from a single preflight run
204
- preflight_output=$(bash .claude/scripts/pm/issue-sync/preflight-validation.sh "$ISSUE_NUMBER")
205
- epic_name=$(echo "$preflight_output" | grep "Epic:" | cut -d: -f2- | xargs)
206
- updates_dir=$(echo "$preflight_output" | grep "Updates Directory:" | cut -d: -f2- | xargs)
207
- progress_file=$(echo "$preflight_output" | grep "Progress File:" | cut -d: -f2- | xargs)
208
-
209
- echo "✅ Validation passed"
210
- echo " Epic: $epic_name"
211
- echo " Updates: $updates_dir"
212
-
213
- # Step 2: Gather updates
214
- echo "📝 Gathering local updates..."
215
- last_sync=$(grep '^last_sync:' "$progress_file" 2>/dev/null | sed 's/^last_sync: *//' || echo "")
216
- consolidated_updates=$(bash .claude/scripts/pm/issue-sync/gather-updates.sh \
217
- "$ISSUE_NUMBER" \
218
- "$updates_dir" \
219
- "$last_sync")
220
-
221
- if [[ ! -f "$consolidated_updates" ]]; then
222
- echo "❌ Failed to gather updates"
223
- exit 1
224
- fi
225
-
226
- echo "✅ Updates gathered"
227
-
228
- # Step 3: Format comment
229
- echo "📋 Formatting GitHub comment..."
230
- completion=$(grep '^completion:' "$progress_file" 2>/dev/null | sed 's/^completion: *//' | tr -d '%' || echo "0")
231
- is_completion="false"
232
- if [[ "$completion" == "100" ]]; then
233
- is_completion="true"
234
- echo " Task is complete - formatting completion comment"
235
- fi
236
-
237
- formatted_comment=$(bash .claude/scripts/pm/issue-sync/format-comment.sh \
238
- "$ISSUE_NUMBER" \
239
- "$consolidated_updates" \
240
- "$progress_file" \
241
- "$is_completion")
242
-
243
- if [[ ! -f "$formatted_comment" ]]; then
244
- echo "❌ Failed to format comment"
245
- exit 1
246
- fi
247
-
248
- echo "✅ Comment formatted"
249
-
250
- # Step 4: Post to GitHub
251
- echo "☁️ Posting to GitHub..."
252
- comment_url=$(bash .claude/scripts/pm/issue-sync/post-comment.sh \
253
- "$ISSUE_NUMBER" \
254
- "$formatted_comment" \
255
- "$is_completion")
256
-
257
- if [[ $? -ne 0 ]]; then
258
- echo "❌ Failed to post comment"
259
- echo "💡 You can manually post with: gh issue comment $ISSUE_NUMBER --body-file $formatted_comment"
260
- exit 1
261
- fi
262
-
263
- echo "✅ Comment posted successfully"
264
-
265
- # Step 5: Update frontmatter
266
- echo "📝 Updating local metadata..."
267
- bash .claude/scripts/pm/issue-sync/update-frontmatter.sh \
268
- "$ISSUE_NUMBER" \
269
- "$progress_file" \
270
- "$comment_url" \
271
- "$is_completion"
272
-
273
- echo "✅ Frontmatter updated"
274
-
275
- # Get repository info for final output
276
- repo=$(gh repo view --json nameWithOwner -q .nameWithOwner 2>/dev/null || echo "")
277
-
278
- # Final output
279
- echo ""
280
- echo "🎉 Issue sync completed successfully!"
281
- echo ""
282
- echo "📊 Summary:"
283
- echo " Issue: #$ISSUE_NUMBER"
284
- echo " Epic: $epic_name"
285
- echo " Completion: ${completion}%"
286
- if [[ "$is_completion" == "true" ]]; then
287
- echo " Status: ✅ COMPLETED"
288
- fi
289
- echo ""
290
- echo "🔗 Links:"
291
- if [[ -n "$comment_url" ]]; then
292
- echo " Comment: $comment_url"
293
- fi
294
- if [[ -n "$repo" ]]; then
295
- echo " Issue: https://github.com/$repo/issues/$ISSUE_NUMBER"
296
- fi
297
- echo ""
298
- echo "📋 Next steps:"
299
- if [[ "$is_completion" == "true" ]]; then
300
- echo " - Close the issue on GitHub if not already closed"
301
- echo " - Start next task: /pm:issue-start <next_issue_number>"
302
- else
303
- echo " - Continue development on issue #$ISSUE_NUMBER"
304
- echo " - Next sync: /pm:issue-sync $ISSUE_NUMBER"
305
- fi
306
- echo ""
307
- ```
308
-
309
- ## Benefits of Modular Approach
310
-
311
- ### ✅ **Reliability**
312
- - Each script handles one specific responsibility
313
- - Comprehensive error handling and validation
314
- - Atomic operations with proper rollback
315
-
316
- ### ✅ **Maintainability**
317
- - Modular scripts are easier to test and debug
318
- - Shared libraries ensure consistency
319
- - Clear separation of concerns
320
-
321
- ### ✅ **Flexibility**
322
- - Scripts can be used independently
323
- - Easy to extend or modify individual components
324
- - Environment-based configuration
325
-
326
- ### ✅ **Auditability**
327
- - Transparent sync history with timestamps
328
- - Comment URL tracking
329
- - Backup preservation for rollback
330
-
331
- ## Environment Variables
332
-
333
- ```bash
334
- # Dry run mode - preview without posting
335
- export AUTOPM_DRY_RUN=true
336
-
337
- # Force sync even if recent
338
- export AUTOPM_FORCE_SYNC=true
339
-
340
- # Logging level (0=DEBUG, 1=INFO, 2=WARNING, 3=ERROR)
341
- export AUTOPM_LOG_LEVEL=1
342
- ```
343
-
344
- ## Error Handling
345
-
346
- Each modular script includes comprehensive error handling:
347
-
348
- - **Validation**: Input validation before processing
349
- - **Authentication**: GitHub CLI authentication checks
350
- - **Repository Protection**: Automatic template repository detection
351
- - **Network Errors**: Graceful handling with recovery suggestions
352
- - **Rate Limits**: Clear messaging about GitHub API limits
353
- - **Backup/Restore**: Automatic backup and rollback for frontmatter updates
354
-
355
- ## Troubleshooting
356
-
357
- ### Common Issues
358
-
359
- 1. **"No updates for issue"**
360
- ```bash
361
- # Initialize issue tracking first
362
- /pm:issue-start $ARGUMENTS
363
- ```
364
-
365
- 2. **"GitHub CLI not authenticated"**
366
- ```bash
367
- gh auth login
368
- ```
369
-
370
- 3. **"Template repository detected"**
371
- ```bash
372
- git remote set-url origin https://github.com/YOUR_USERNAME/YOUR_REPO.git
373
- ```
374
-
375
- 4. **"Recent sync detected"**
376
- ```bash
377
- # Force sync if needed
378
- AUTOPM_FORCE_SYNC=true /pm:issue-sync $ARGUMENTS
379
- ```
380
-
381
- 5. **"Comment posting failed"**
382
- ```bash
383
- # Check GitHub status
384
- gh auth status
385
-
386
- # Manual fallback
387
- gh issue comment $ISSUE_NUMBER --body-file /tmp/formatted-comment.md
388
- ```
389
-
390
- ### Script Debugging
391
-
392
- Enable debug logging for detailed troubleshooting:
393
-
394
- ```bash
395
- export AUTOPM_LOG_LEVEL=0 # Enable debug logging
396
- bash .claude/scripts/pm/issue-sync/preflight-validation.sh "$ISSUE_NUMBER"
397
- ```
398
-
399
- ## Migration from Legacy Issue Sync
400
-
401
- The modular version is fully backward compatible. To migrate:
402
-
403
- 1. **No changes required** - existing commands work unchanged
404
- 2. **Optional**: Use individual scripts for fine-grained control
405
- 3. **Optional**: Configure environment variables for customization
406
-
407
- Legacy workflows continue to work, but benefit from improved reliability and error handling.
408
-
409
- ---
410
-
411
- *This modular implementation provides the same functionality as the original issue-sync with improved reliability, testability, and maintainability.*
@@ -1,28 +0,0 @@
1
- ---
2
- allowed-tools: Bash
3
- ---
4
-
5
- Run `node .claude/scripts/pm/next.js` using the Bash tool and show me the complete output.
6
-
7
- - DO NOT truncate.
8
- - DO NOT collapse.
9
- - DO NOT abbreviate.
10
- - Show ALL lines in full.
11
- ## Required Documentation Access
12
-
13
- **MANDATORY:** Before project management workflows, query Context7 for best practices:
14
-
15
- **Documentation Queries:**
16
- - `mcp://context7/agile/epic-management` - epic management best practices
17
- - `mcp://context7/project-management/issue-tracking` - issue tracking best practices
18
- - `mcp://context7/agile/task-breakdown` - task breakdown best practices
19
- - `mcp://context7/project-management/workflow` - workflow best practices
20
-
21
- **Why This is Required:**
22
- - Ensures adherence to current industry standards and best practices
23
- - Prevents outdated or incorrect implementation patterns
24
- - Provides access to latest framework/tool documentation
25
- - Reduces errors from stale knowledge or assumptions
26
-
27
-
28
- - DO NOT print any other comments.
@@ -1,82 +0,0 @@
1
- ---
2
- allowed-tools: Read, Write, LS
3
- ---
4
-
5
- # PRD Edit
6
-
7
- Edit an existing Product Requirements Document.
8
-
9
- ## Usage
10
- ```
11
- /pm:prd-edit <feature_name>
12
- ```
13
-
14
- ## Required Documentation Access
15
-
16
- **MANDATORY:** Before project management workflows, query Context7 for best practices:
17
-
18
- **Documentation Queries:**
19
- - `mcp://context7/agile/epic-management` - epic management best practices
20
- - `mcp://context7/project-management/issue-tracking` - issue tracking best practices
21
- - `mcp://context7/agile/task-breakdown` - task breakdown best practices
22
- - `mcp://context7/project-management/workflow` - workflow best practices
23
-
24
- **Why This is Required:**
25
- - Ensures adherence to current industry standards and best practices
26
- - Prevents outdated or incorrect implementation patterns
27
- - Provides access to latest framework/tool documentation
28
- - Reduces errors from stale knowledge or assumptions
29
-
30
-
31
- ## Instructions
32
-
33
- ### 1. Read Current PRD
34
-
35
- Read `.claude/prds/$ARGUMENTS.md`:
36
- - Parse frontmatter
37
- - Read all sections
38
-
39
- ### 2. Interactive Edit
40
-
41
- Ask user what sections to edit:
42
- - Executive Summary
43
- - Problem Statement
44
- - User Stories
45
- - Requirements (Functional/Non-Functional)
46
- - Success Criteria
47
- - Constraints & Assumptions
48
- - Out of Scope
49
- - Dependencies
50
-
51
- ### 3. Update PRD
52
-
53
- Get current datetime: `date -u +"%Y-%m-%dT%H:%M:%SZ"`
54
-
55
- Update PRD file:
56
- - Preserve frontmatter except `updated` field
57
- - Apply user's edits to selected sections
58
- - Update `updated` field with current datetime
59
-
60
- ### 4. Check Epic Impact
61
-
62
- If PRD has associated epic:
63
- - Notify user: "This PRD has epic: {epic_name}"
64
- - Ask: "Epic may need updating based on PRD changes. Review epic? (yes/no)"
65
- - If yes, show: "Review with: /pm:epic-edit {epic_name}"
66
-
67
- ### 5. Output
68
-
69
- ```
70
- ✅ Updated PRD: $ARGUMENTS
71
- Sections edited: {list_of_sections}
72
-
73
- {If has epic}: ⚠️ Epic may need review: {epic_name}
74
-
75
- Next: /pm:prd-parse $ARGUMENTS to update epic
76
- ```
77
-
78
- ## Important Notes
79
-
80
- Preserve original creation date.
81
- Keep version history in frontmatter if needed.
82
- Follow `/rules/frontmatter-operations.md`.
@@ -1,28 +0,0 @@
1
- ---
2
- allowed-tools: Bash
3
- ---
4
-
5
- Run `node .claude/scripts/pm/prd-list.js` using the Bash tool and show me the complete output.
6
-
7
- - DO NOT truncate.
8
- - DO NOT collapse.
9
- - DO NOT abbreviate.
10
- - Show ALL lines in full.
11
- ## Required Documentation Access
12
-
13
- **MANDATORY:** Before project management workflows, query Context7 for best practices:
14
-
15
- **Documentation Queries:**
16
- - `mcp://context7/agile/epic-management` - epic management best practices
17
- - `mcp://context7/project-management/issue-tracking` - issue tracking best practices
18
- - `mcp://context7/agile/task-breakdown` - task breakdown best practices
19
- - `mcp://context7/project-management/workflow` - workflow best practices
20
-
21
- **Why This is Required:**
22
- - Ensures adherence to current industry standards and best practices
23
- - Prevents outdated or incorrect implementation patterns
24
- - Provides access to latest framework/tool documentation
25
- - Reduces errors from stale knowledge or assumptions
26
-
27
-
28
- - DO NOT print any other comments.
@@ -1,55 +0,0 @@
1
- ---
2
- allowed-tools: Bash, Read, Write, LS
3
- ---
4
-
5
- # PRD New
6
-
7
- Launch interactive brainstorming session for new product requirement document.
8
-
9
- ## Usage
10
- ```
11
- /pm:prd-new <feature_name> [--local]
12
- ```
13
-
14
- ## Flags
15
-
16
- `--local`, `-l`
17
- : Use local mode (offline workflow)
18
- : Creates PRD files in `.claude/prds/` directory
19
- : No GitHub/Azure synchronization required
20
- : Ideal for working offline or without remote provider configured
21
-
22
- Example:
23
- ```
24
- /pm:prd-new user-authentication --local
25
- ```
26
-
27
- ## Required Documentation Access
28
-
29
- **MANDATORY:** Before creating PRDs, query Context7 for best practices:
30
-
31
- **Documentation Queries:**
32
- - `mcp://context7/product-management/prd-templates` - PRD structure and templates
33
- - `mcp://context7/product-management/requirements` - Requirements gathering
34
- - `mcp://context7/agile/user-stories` - User story best practices
35
- - `mcp://context7/product-management/success-metrics` - Defining success criteria
36
-
37
- **Why This is Required:**
38
- - Ensures PRDs follow industry-standard formats
39
- - Applies proven requirements gathering techniques
40
- - Validates completeness of product specifications
41
- - Prevents missing critical sections (acceptance criteria, success metrics, etc.)
42
-
43
- ## Instructions
44
-
45
- Run `node .claude/scripts/pm/prd-new.js $ARGUMENTS` using the Bash tool and show me the complete output.
46
-
47
- This will launch an interactive brainstorming session that will:
48
- 1. Prompt for product vision
49
- 2. Gather information about target users
50
- 3. Collect key features through interactive prompts
51
- 4. Define success metrics
52
- 5. Capture technical considerations
53
- 6. Generate a comprehensive PRD with proper frontmatter
54
-
55
- The script handles all validation, creates the necessary directories, and saves the PRD to `.claude/prds/$ARGUMENTS.md`.
@@ -1,42 +0,0 @@
1
- ---
2
- allowed-tools: Bash, Read, Write, LS
3
- ---
4
-
5
- # PRD Parse
6
-
7
- Convert PRD to technical implementation epic.
8
-
9
- ## Usage
10
- ```
11
- /pm:prd-parse <feature_name>
12
- ```
13
-
14
- ## Required Documentation Access
15
-
16
- **MANDATORY:** Before converting PRDs to epics, query Context7 for best practices:
17
-
18
- **Documentation Queries:**
19
- - `mcp://context7/product-management/prd-to-epic` - PRD to epic conversion patterns
20
- - `mcp://context7/agile/epic-structure` - Epic structure and organization
21
- - `mcp://context7/architecture/technical-design` - Technical architecture decisions
22
- - `mcp://context7/project-management/task-breakdown` - Task breakdown strategies
23
- - `mcp://context7/agile/estimation` - Effort estimation and timeline planning
24
-
25
- **Why This is Required:**
26
- - Ensures proper PRD-to-epic translation following industry standards
27
- - Applies proven architecture decision frameworks
28
- - Validates task breakdown completeness and accuracy
29
- - Prevents missing critical technical considerations
30
-
31
- ## Instructions
32
-
33
- Run `node .claude/scripts/pm/prd-parse.js $ARGUMENTS` using the Bash tool and show me the complete output.
34
-
35
- This will convert the Product Requirements Document into a detailed technical implementation epic including:
36
- 1. Technical analysis and architecture decisions
37
- 2. Implementation strategy and phases
38
- 3. Task breakdown preview (limited to 10 or fewer tasks)
39
- 4. Dependencies and success criteria
40
- 5. Effort estimates and timeline
41
-
42
- The script handles all validation, reads the PRD file, and creates the epic structure at `.claude/epics/$ARGUMENTS/epic.md`.
@@ -1,28 +0,0 @@
1
- ---
2
- allowed-tools: Bash
3
- ---
4
-
5
- Run `node .claude/scripts/pm/prd-status.js` using the Bash tool and show me the complete output.
6
-
7
- - DO NOT truncate.
8
- - DO NOT collapse.
9
- - DO NOT abbreviate.
10
- - Show ALL lines in full.
11
- ## Required Documentation Access
12
-
13
- **MANDATORY:** Before project management workflows, query Context7 for best practices:
14
-
15
- **Documentation Queries:**
16
- - `mcp://context7/agile/epic-management` - epic management best practices
17
- - `mcp://context7/project-management/issue-tracking` - issue tracking best practices
18
- - `mcp://context7/agile/task-breakdown` - task breakdown best practices
19
- - `mcp://context7/project-management/workflow` - workflow best practices
20
-
21
- **Why This is Required:**
22
- - Ensures adherence to current industry standards and best practices
23
- - Prevents outdated or incorrect implementation patterns
24
- - Provides access to latest framework/tool documentation
25
- - Reduces errors from stale knowledge or assumptions
26
-
27
-
28
- - DO NOT print any other comments.