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,338 +0,0 @@
1
- ---
2
- allowed-tools: Bash, Read, Write, LS, Task
3
- ---
4
-
5
- # Epic Sync - Modular Version
6
-
7
- Push epic and tasks to GitHub as issues using modular scripts.
8
-
9
- ## Usage
10
- ```
11
- /pm:epic-sync <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
- ## Quick Check
32
-
33
- ```bash
34
- # Verify epic exists
35
- test -f .claude/epics/$ARGUMENTS/epic.md || echo "❌ Epic not found. Run: /pm:prd-parse $ARGUMENTS"
36
-
37
- # Count task files
38
- ls .claude/epics/$ARGUMENTS/*.md 2>/dev/null | grep -v epic.md | wc -l
39
- ```
40
-
41
- If no tasks found: "❌ No tasks to sync. Run: /pm:epic-decompose $ARGUMENTS"
42
-
43
- ## Instructions
44
-
45
- The epic sync process is now modularized into 4 specialized scripts that handle different aspects of the synchronization. Each script is designed for reliability, testability, and maintainability.
46
-
47
- ### 1. Repository Protection Check
48
-
49
- This is handled automatically by our modular scripts, but you can run the check manually:
50
-
51
- ```bash
52
- # Check repository protection (built into all scripts)
53
- bash .claude/scripts/lib/github-utils.sh
54
- ```
55
-
56
- The scripts will automatically:
57
- - ✅ Verify GitHub CLI authentication
58
- - ✅ Check repository protection against template repos
59
- - ✅ Validate epic structure and inputs
60
-
61
- ### 2. Create Epic Issue
62
-
63
- Create the main GitHub issue for the epic:
64
-
65
- ```bash
66
- # Create epic issue with proper stats and labels
67
- epic_number=$(bash .claude/scripts/pm/epic-sync/create-epic-issue.sh "$ARGUMENTS")
68
-
69
- echo "✅ Epic issue created: #$epic_number"
70
- ```
71
-
72
- This script handles:
73
- - ✅ Frontmatter stripping and content processing
74
- - ✅ Epic type detection (bug vs feature)
75
- - ✅ Statistics calculation (tasks, parallel/sequential breakdown)
76
- - ✅ GitHub issue creation with proper labels
77
- - ✅ Epic vs bug labeling based on content analysis
78
-
79
- ### 3. Create Task Issues
80
-
81
- Create GitHub issues for all tasks with automatic parallel processing:
82
-
83
- ```bash
84
- # Create task issues (automatically chooses sequential/parallel)
85
- task_mapping_file=$(bash .claude/scripts/pm/epic-sync/create-task-issues.sh "$ARGUMENTS" "$epic_number")
86
-
87
- echo "✅ Task issues created. Mapping: $task_mapping_file"
88
- ```
89
-
90
- This script handles:
91
- - ✅ Automatic strategy selection (sequential < 5 tasks, parallel ≥ 5 tasks)
92
- - ✅ Sub-issues support (if gh-sub-issue extension available)
93
- - ✅ Parallel batch processing for large task sets
94
- - ✅ Proper labeling with `task,epic:$ARGUMENTS`
95
- - ✅ Error handling and partial failure recovery
96
- - ✅ Progress reporting and result consolidation
97
-
98
- **Environment Configuration:**
99
- ```bash
100
- # Optional: Set custom parallel threshold
101
- export AUTOPM_PARALLEL_THRESHOLD=3 # Default: 5
102
- ```
103
-
104
- ### 4. Update Task References
105
-
106
- Update all task dependencies and rename files to use GitHub issue numbers:
107
-
108
- ```bash
109
- # Update references and rename files
110
- bash .claude/scripts/pm/epic-sync/update-references.sh "$ARGUMENTS" "$task_mapping_file"
111
-
112
- echo "✅ Task references updated and files renamed"
113
- ```
114
-
115
- This script handles:
116
- - ✅ ID mapping generation (001 → real issue numbers)
117
- - ✅ Dependency reference updates (`depends_on`, `conflicts_with`)
118
- - ✅ File renaming (001.md → 123.md)
119
- - ✅ Frontmatter updates with GitHub URLs
120
- - ✅ Timestamp updates
121
- - ✅ Cleanup of old-format files
122
-
123
- ### 5. Update Epic File
124
-
125
- Update the epic.md file with GitHub information and real task IDs:
126
-
127
- ```bash
128
- # Update epic file with GitHub info and real task IDs
129
- bash .claude/scripts/pm/epic-sync/update-epic-file.sh "$ARGUMENTS" "$epic_number"
130
-
131
- echo "✅ Epic file updated with GitHub information"
132
- ```
133
-
134
- This script handles:
135
- - ✅ Epic frontmatter updates (GitHub URL, timestamp)
136
- - ✅ Tasks Created section replacement with real issue numbers
137
- - ✅ Statistics recalculation
138
- - ✅ GitHub mapping file creation
139
- - ✅ Content structure preservation
140
-
141
- ### 6. Create Development Branch
142
-
143
- Follow `/rules/git-strategy.md` to create development branch:
144
-
145
- ```bash
146
- # Ensure main is current
147
- git checkout main
148
- git pull origin main
149
-
150
- # Create branch for epic
151
- git checkout -b epic/$ARGUMENTS
152
- git push -u origin epic/$ARGUMENTS
153
-
154
- echo "✅ Created branch: epic/$ARGUMENTS"
155
- ```
156
-
157
- ## Complete Workflow Example
158
-
159
- Here's the complete modular epic sync workflow:
160
-
161
- ```bash
162
- #!/bin/bash
163
- # Complete epic sync using modular scripts
164
-
165
- EPIC_NAME="$ARGUMENTS"
166
-
167
- echo "🚀 Starting modular epic sync for: $EPIC_NAME"
168
-
169
- # Step 1: Create epic issue
170
- echo "📝 Creating epic issue..."
171
- epic_number=$(bash .claude/scripts/pm/epic-sync/create-epic-issue.sh "$EPIC_NAME")
172
-
173
- if [[ -z "$epic_number" ]]; then
174
- echo "❌ Failed to create epic issue"
175
- exit 1
176
- fi
177
-
178
- echo "✅ Epic issue created: #$epic_number"
179
-
180
- # Step 2: Create task issues
181
- echo "📋 Creating task issues..."
182
- task_mapping_file=$(bash .claude/scripts/pm/epic-sync/create-task-issues.sh "$EPIC_NAME" "$epic_number")
183
-
184
- if [[ ! -f "$task_mapping_file" ]]; then
185
- echo "❌ Failed to create task issues"
186
- exit 1
187
- fi
188
-
189
- task_count=$(wc -l < "$task_mapping_file")
190
- echo "✅ Created $task_count task issues"
191
-
192
- # Step 3: Update references
193
- echo "🔗 Updating task references..."
194
- bash .claude/scripts/pm/epic-sync/update-references.sh "$EPIC_NAME" "$task_mapping_file"
195
-
196
- echo "✅ Task references updated"
197
-
198
- # Step 4: Update epic file
199
- echo "📄 Updating epic file..."
200
- bash .claude/scripts/pm/epic-sync/update-epic-file.sh "$EPIC_NAME" "$epic_number"
201
-
202
- echo "✅ Epic file updated"
203
-
204
- # Step 5: Create branch
205
- echo "🌿 Creating development branch..."
206
- git checkout main
207
- git pull origin main
208
- git checkout -b epic/$EPIC_NAME
209
- git push -u origin epic/$EPIC_NAME
210
-
211
- echo "✅ Created branch: epic/$EPIC_NAME"
212
-
213
- # Get repository info for final output
214
- repo=$(gh repo view --json nameWithOwner -q .nameWithOwner)
215
-
216
- # Final output
217
- echo ""
218
- echo "🎉 Epic sync completed successfully!"
219
- echo ""
220
- echo "📊 Summary:"
221
- echo " Epic: #$epic_number - $EPIC_NAME"
222
- echo " Tasks: $task_count sub-issues created"
223
- echo " Branch: epic/$EPIC_NAME"
224
- echo ""
225
- echo "🔗 Links:"
226
- echo " Epic: https://github.com/$repo/issues/$epic_number"
227
- echo " Branch: https://github.com/$repo/tree/epic/$EPIC_NAME"
228
- echo ""
229
- echo "📋 Next steps:"
230
- echo " - Start parallel execution: /pm:epic-start $EPIC_NAME"
231
- echo " - Or work on single issue: /pm:issue-start <issue_number>"
232
- echo ""
233
- ```
234
-
235
- ## Benefits of Modular Approach
236
-
237
- ### ✅ **Reliability**
238
- - Each script handles one specific responsibility
239
- - Comprehensive error handling and validation
240
- - Atomic operations with proper rollback
241
-
242
- ### ✅ **Performance**
243
- - Automatic parallel processing for large task sets
244
- - Configurable thresholds via environment variables
245
- - Background job management for concurrent operations
246
-
247
- ### ✅ **Maintainability**
248
- - Modular scripts are easier to test and debug
249
- - Shared libraries ensure consistency
250
- - Clear separation of concerns
251
-
252
- ### ✅ **Testability**
253
- - Each script can be tested independently
254
- - Mock-friendly interfaces
255
- - TDD-driven development approach
256
-
257
- ### ✅ **Flexibility**
258
- - Scripts can be used independently
259
- - Easy to extend or modify individual components
260
- - Environment-based configuration
261
-
262
- ## Error Handling
263
-
264
- Each modular script includes comprehensive error handling:
265
-
266
- - **Validation**: Input validation before processing
267
- - **Authentication**: GitHub CLI authentication checks
268
- - **Repository Protection**: Automatic template repository detection
269
- - **Partial Failures**: Graceful handling of partial operations
270
- - **Logging**: Detailed logging with configurable levels
271
- - **Cleanup**: Automatic temporary file cleanup
272
-
273
- ## Configuration Options
274
-
275
- ### Environment Variables
276
-
277
- ```bash
278
- # Parallel processing threshold
279
- export AUTOPM_PARALLEL_THRESHOLD=5 # Default: 5
280
-
281
- # Logging level (0=DEBUG, 1=INFO, 2=WARNING, 3=ERROR)
282
- export AUTOPM_LOG_LEVEL=1 # Default: 1 (INFO)
283
- ```
284
-
285
- ### GitHub Extensions
286
-
287
- The scripts automatically detect and use GitHub CLI extensions:
288
-
289
- - **gh-sub-issue**: For hierarchical issue management
290
- - Fallback to regular issues if extension not available
291
-
292
- ## Troubleshooting
293
-
294
- ### Common Issues
295
-
296
- 1. **"No tasks to sync"**
297
- ```bash
298
- # Generate tasks first
299
- /pm:epic-decompose $ARGUMENTS
300
- ```
301
-
302
- 2. **"GitHub CLI not authenticated"**
303
- ```bash
304
- gh auth login
305
- ```
306
-
307
- 3. **"Template repository detected"**
308
- ```bash
309
- git remote set-url origin https://github.com/YOUR_USERNAME/YOUR_REPO.git
310
- ```
311
-
312
- 4. **Partial task creation failure**
313
- - Scripts handle partial failures gracefully
314
- - Check logs for specific task errors
315
- - Retry individual scripts as needed
316
-
317
- ### Script Debugging
318
-
319
- Enable debug logging for detailed troubleshooting:
320
-
321
- ```bash
322
- export AUTOPM_LOG_LEVEL=0 # Enable debug logging
323
- bash .claude/scripts/pm/epic-sync/create-epic-issue.sh "$EPIC_NAME"
324
- ```
325
-
326
- ## Migration from Legacy Epic Sync
327
-
328
- The modular version is fully backward compatible. To migrate:
329
-
330
- 1. **No changes required** - existing commands work unchanged
331
- 2. **Optional**: Use individual scripts for fine-grained control
332
- 3. **Optional**: Configure environment variables for optimization
333
-
334
- Legacy workflows continue to work, but benefit from improved reliability and performance.
335
-
336
- ---
337
-
338
- *This modular implementation provides the same functionality as the original epic-sync with improved reliability, testability, and maintainability.*