claude-autopm 2.8.1 → 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.
- package/README.md +116 -8
- package/bin/autopm.js +2 -0
- package/bin/commands/plugin.js +395 -0
- package/bin/commands/team.js +184 -10
- package/install/install.js +223 -4
- package/lib/plugins/PluginManager.js +1328 -0
- package/lib/plugins/PluginManager.old.js +400 -0
- package/package.json +4 -1
- package/scripts/publish-plugins.sh +166 -0
- package/autopm/.claude/agents/cloud/README.md +0 -55
- package/autopm/.claude/agents/cloud/aws-cloud-architect.md +0 -521
- package/autopm/.claude/agents/cloud/azure-cloud-architect.md +0 -436
- package/autopm/.claude/agents/cloud/gcp-cloud-architect.md +0 -385
- package/autopm/.claude/agents/cloud/gcp-cloud-functions-engineer.md +0 -306
- package/autopm/.claude/agents/cloud/gemini-api-expert.md +0 -880
- package/autopm/.claude/agents/cloud/kubernetes-orchestrator.md +0 -566
- package/autopm/.claude/agents/cloud/openai-python-expert.md +0 -1087
- package/autopm/.claude/agents/cloud/terraform-infrastructure-expert.md +0 -454
- package/autopm/.claude/agents/core/agent-manager.md +0 -296
- package/autopm/.claude/agents/core/code-analyzer.md +0 -131
- package/autopm/.claude/agents/core/file-analyzer.md +0 -162
- package/autopm/.claude/agents/core/test-runner.md +0 -200
- package/autopm/.claude/agents/data/airflow-orchestration-expert.md +0 -52
- package/autopm/.claude/agents/data/kedro-pipeline-expert.md +0 -50
- package/autopm/.claude/agents/data/langgraph-workflow-expert.md +0 -520
- package/autopm/.claude/agents/databases/README.md +0 -50
- package/autopm/.claude/agents/databases/bigquery-expert.md +0 -392
- package/autopm/.claude/agents/databases/cosmosdb-expert.md +0 -368
- package/autopm/.claude/agents/databases/mongodb-expert.md +0 -398
- package/autopm/.claude/agents/databases/postgresql-expert.md +0 -321
- package/autopm/.claude/agents/databases/redis-expert.md +0 -52
- package/autopm/.claude/agents/devops/README.md +0 -52
- package/autopm/.claude/agents/devops/azure-devops-specialist.md +0 -308
- package/autopm/.claude/agents/devops/docker-containerization-expert.md +0 -298
- package/autopm/.claude/agents/devops/github-operations-specialist.md +0 -335
- package/autopm/.claude/agents/devops/mcp-context-manager.md +0 -319
- package/autopm/.claude/agents/devops/observability-engineer.md +0 -574
- package/autopm/.claude/agents/devops/ssh-operations-expert.md +0 -1093
- package/autopm/.claude/agents/devops/traefik-proxy-expert.md +0 -444
- package/autopm/.claude/agents/frameworks/README.md +0 -64
- package/autopm/.claude/agents/frameworks/e2e-test-engineer.md +0 -360
- package/autopm/.claude/agents/frameworks/nats-messaging-expert.md +0 -254
- package/autopm/.claude/agents/frameworks/react-frontend-engineer.md +0 -217
- package/autopm/.claude/agents/frameworks/react-ui-expert.md +0 -226
- package/autopm/.claude/agents/frameworks/tailwindcss-expert.md +0 -770
- package/autopm/.claude/agents/frameworks/ux-design-expert.md +0 -244
- package/autopm/.claude/agents/integration/message-queue-engineer.md +0 -794
- package/autopm/.claude/agents/languages/README.md +0 -50
- package/autopm/.claude/agents/languages/bash-scripting-expert.md +0 -541
- package/autopm/.claude/agents/languages/javascript-frontend-engineer.md +0 -197
- package/autopm/.claude/agents/languages/nodejs-backend-engineer.md +0 -226
- package/autopm/.claude/agents/languages/python-backend-engineer.md +0 -214
- package/autopm/.claude/agents/languages/python-backend-expert.md +0 -289
- package/autopm/.claude/agents/testing/frontend-testing-engineer.md +0 -395
- package/autopm/.claude/commands/ai/langgraph-workflow.md +0 -65
- package/autopm/.claude/commands/ai/openai-chat.md +0 -65
- package/autopm/.claude/commands/azure/COMMANDS.md +0 -107
- package/autopm/.claude/commands/azure/COMMAND_MAPPING.md +0 -252
- package/autopm/.claude/commands/azure/INTEGRATION_FIX.md +0 -103
- package/autopm/.claude/commands/azure/README.md +0 -246
- package/autopm/.claude/commands/azure/active-work.md +0 -198
- package/autopm/.claude/commands/azure/aliases.md +0 -143
- package/autopm/.claude/commands/azure/blocked-items.md +0 -287
- package/autopm/.claude/commands/azure/clean.md +0 -93
- package/autopm/.claude/commands/azure/docs-query.md +0 -48
- package/autopm/.claude/commands/azure/feature-decompose.md +0 -380
- package/autopm/.claude/commands/azure/feature-list.md +0 -61
- package/autopm/.claude/commands/azure/feature-new.md +0 -115
- package/autopm/.claude/commands/azure/feature-show.md +0 -205
- package/autopm/.claude/commands/azure/feature-start.md +0 -130
- package/autopm/.claude/commands/azure/fix-integration-example.md +0 -93
- package/autopm/.claude/commands/azure/help.md +0 -150
- package/autopm/.claude/commands/azure/import-us.md +0 -269
- package/autopm/.claude/commands/azure/init.md +0 -211
- package/autopm/.claude/commands/azure/next-task.md +0 -262
- package/autopm/.claude/commands/azure/search.md +0 -160
- package/autopm/.claude/commands/azure/sprint-status.md +0 -235
- package/autopm/.claude/commands/azure/standup.md +0 -260
- package/autopm/.claude/commands/azure/sync-all.md +0 -99
- package/autopm/.claude/commands/azure/task-analyze.md +0 -186
- package/autopm/.claude/commands/azure/task-close.md +0 -329
- package/autopm/.claude/commands/azure/task-edit.md +0 -145
- package/autopm/.claude/commands/azure/task-list.md +0 -263
- package/autopm/.claude/commands/azure/task-new.md +0 -84
- package/autopm/.claude/commands/azure/task-reopen.md +0 -79
- package/autopm/.claude/commands/azure/task-show.md +0 -126
- package/autopm/.claude/commands/azure/task-start.md +0 -301
- package/autopm/.claude/commands/azure/task-status.md +0 -65
- package/autopm/.claude/commands/azure/task-sync.md +0 -67
- package/autopm/.claude/commands/azure/us-edit.md +0 -164
- package/autopm/.claude/commands/azure/us-list.md +0 -202
- package/autopm/.claude/commands/azure/us-new.md +0 -265
- package/autopm/.claude/commands/azure/us-parse.md +0 -253
- package/autopm/.claude/commands/azure/us-show.md +0 -188
- package/autopm/.claude/commands/azure/us-status.md +0 -320
- package/autopm/.claude/commands/azure/validate.md +0 -86
- package/autopm/.claude/commands/azure/work-item-sync.md +0 -47
- package/autopm/.claude/commands/cloud/infra-deploy.md +0 -38
- package/autopm/.claude/commands/github/workflow-create.md +0 -42
- package/autopm/.claude/commands/infrastructure/ssh-security.md +0 -65
- package/autopm/.claude/commands/infrastructure/traefik-setup.md +0 -65
- package/autopm/.claude/commands/kubernetes/deploy.md +0 -37
- package/autopm/.claude/commands/playwright/test-scaffold.md +0 -38
- package/autopm/.claude/commands/pm/blocked.md +0 -28
- package/autopm/.claude/commands/pm/clean.md +0 -119
- package/autopm/.claude/commands/pm/context-create.md +0 -136
- package/autopm/.claude/commands/pm/context-prime.md +0 -170
- package/autopm/.claude/commands/pm/context-update.md +0 -292
- package/autopm/.claude/commands/pm/context.md +0 -28
- package/autopm/.claude/commands/pm/epic-close.md +0 -86
- package/autopm/.claude/commands/pm/epic-decompose.md +0 -370
- package/autopm/.claude/commands/pm/epic-edit.md +0 -83
- package/autopm/.claude/commands/pm/epic-list.md +0 -30
- package/autopm/.claude/commands/pm/epic-merge.md +0 -222
- package/autopm/.claude/commands/pm/epic-oneshot.md +0 -119
- package/autopm/.claude/commands/pm/epic-refresh.md +0 -119
- package/autopm/.claude/commands/pm/epic-show.md +0 -28
- package/autopm/.claude/commands/pm/epic-split.md +0 -120
- package/autopm/.claude/commands/pm/epic-start.md +0 -195
- package/autopm/.claude/commands/pm/epic-status.md +0 -28
- package/autopm/.claude/commands/pm/epic-sync-modular.md +0 -338
- package/autopm/.claude/commands/pm/epic-sync-original.md +0 -473
- package/autopm/.claude/commands/pm/epic-sync.md +0 -486
- package/autopm/.claude/commands/pm/help.md +0 -28
- package/autopm/.claude/commands/pm/import.md +0 -115
- package/autopm/.claude/commands/pm/in-progress.md +0 -28
- package/autopm/.claude/commands/pm/init.md +0 -28
- package/autopm/.claude/commands/pm/issue-analyze.md +0 -202
- package/autopm/.claude/commands/pm/issue-close.md +0 -119
- package/autopm/.claude/commands/pm/issue-edit.md +0 -93
- package/autopm/.claude/commands/pm/issue-reopen.md +0 -87
- package/autopm/.claude/commands/pm/issue-show.md +0 -41
- package/autopm/.claude/commands/pm/issue-start.md +0 -234
- package/autopm/.claude/commands/pm/issue-status.md +0 -95
- package/autopm/.claude/commands/pm/issue-sync.md +0 -411
- package/autopm/.claude/commands/pm/next.md +0 -28
- package/autopm/.claude/commands/pm/prd-edit.md +0 -82
- package/autopm/.claude/commands/pm/prd-list.md +0 -28
- package/autopm/.claude/commands/pm/prd-new.md +0 -55
- package/autopm/.claude/commands/pm/prd-parse.md +0 -42
- package/autopm/.claude/commands/pm/prd-status.md +0 -28
- package/autopm/.claude/commands/pm/search.md +0 -28
- package/autopm/.claude/commands/pm/standup.md +0 -28
- package/autopm/.claude/commands/pm/status.md +0 -28
- package/autopm/.claude/commands/pm/sync.md +0 -99
- package/autopm/.claude/commands/pm/test-reference-update.md +0 -151
- package/autopm/.claude/commands/pm/validate.md +0 -28
- package/autopm/.claude/commands/pm/what-next.md +0 -28
- package/autopm/.claude/commands/python/api-scaffold.md +0 -50
- package/autopm/.claude/commands/python/docs-query.md +0 -48
- package/autopm/.claude/commands/react/app-scaffold.md +0 -50
- package/autopm/.claude/commands/testing/prime.md +0 -314
- package/autopm/.claude/commands/testing/run.md +0 -125
- package/autopm/.claude/commands/ui/bootstrap-scaffold.md +0 -65
- package/autopm/.claude/commands/ui/tailwind-system.md +0 -64
- package/autopm/.claude/rules/ai-integration-patterns.md +0 -219
- package/autopm/.claude/rules/ci-cd-kubernetes-strategy.md +0 -25
- package/autopm/.claude/rules/database-management-strategy.md +0 -17
- package/autopm/.claude/rules/database-pipeline.md +0 -94
- package/autopm/.claude/rules/devops-troubleshooting-playbook.md +0 -450
- package/autopm/.claude/rules/docker-first-development.md +0 -404
- package/autopm/.claude/rules/infrastructure-pipeline.md +0 -128
- package/autopm/.claude/rules/performance-guidelines.md +0 -403
- package/autopm/.claude/rules/ui-development-standards.md +0 -281
- package/autopm/.claude/rules/ui-framework-rules.md +0 -151
- package/autopm/.claude/rules/ux-design-rules.md +0 -209
- package/autopm/.claude/rules/visual-testing.md +0 -223
- package/autopm/.claude/scripts/azure/README.md +0 -192
- package/autopm/.claude/scripts/azure/active-work.js +0 -524
- package/autopm/.claude/scripts/azure/active-work.sh +0 -20
- package/autopm/.claude/scripts/azure/blocked.js +0 -520
- package/autopm/.claude/scripts/azure/blocked.sh +0 -20
- package/autopm/.claude/scripts/azure/daily.js +0 -533
- package/autopm/.claude/scripts/azure/daily.sh +0 -20
- package/autopm/.claude/scripts/azure/dashboard.js +0 -970
- package/autopm/.claude/scripts/azure/dashboard.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-list.js +0 -254
- package/autopm/.claude/scripts/azure/feature-list.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-show.js +0 -7
- package/autopm/.claude/scripts/azure/feature-show.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-status.js +0 -604
- package/autopm/.claude/scripts/azure/feature-status.sh +0 -20
- package/autopm/.claude/scripts/azure/help.js +0 -342
- package/autopm/.claude/scripts/azure/help.sh +0 -20
- package/autopm/.claude/scripts/azure/next-task.js +0 -508
- package/autopm/.claude/scripts/azure/next-task.sh +0 -20
- package/autopm/.claude/scripts/azure/search.js +0 -469
- package/autopm/.claude/scripts/azure/search.sh +0 -20
- package/autopm/.claude/scripts/azure/setup.js +0 -745
- package/autopm/.claude/scripts/azure/setup.sh +0 -20
- package/autopm/.claude/scripts/azure/sprint-report.js +0 -1012
- package/autopm/.claude/scripts/azure/sprint-report.sh +0 -20
- package/autopm/.claude/scripts/azure/sync.js +0 -563
- package/autopm/.claude/scripts/azure/sync.sh +0 -20
- package/autopm/.claude/scripts/azure/us-list.js +0 -210
- package/autopm/.claude/scripts/azure/us-list.sh +0 -20
- package/autopm/.claude/scripts/azure/us-status.js +0 -238
- package/autopm/.claude/scripts/azure/us-status.sh +0 -20
- package/autopm/.claude/scripts/azure/validate.js +0 -626
- package/autopm/.claude/scripts/azure/validate.sh +0 -20
- package/autopm/.claude/scripts/azure/wrapper-template.sh +0 -20
- package/autopm/.claude/scripts/github/dependency-tracker.js +0 -554
- package/autopm/.claude/scripts/github/dependency-validator.js +0 -545
- package/autopm/.claude/scripts/github/dependency-visualizer.js +0 -477
- package/autopm/.claude/scripts/pm/analytics.js +0 -425
- package/autopm/.claude/scripts/pm/blocked.js +0 -164
- package/autopm/.claude/scripts/pm/blocked.sh +0 -78
- package/autopm/.claude/scripts/pm/clean.js +0 -464
- package/autopm/.claude/scripts/pm/context-create.js +0 -216
- package/autopm/.claude/scripts/pm/context-prime.js +0 -335
- package/autopm/.claude/scripts/pm/context-update.js +0 -344
- package/autopm/.claude/scripts/pm/context.js +0 -338
- package/autopm/.claude/scripts/pm/epic-close.js +0 -347
- package/autopm/.claude/scripts/pm/epic-edit.js +0 -382
- package/autopm/.claude/scripts/pm/epic-list.js +0 -273
- package/autopm/.claude/scripts/pm/epic-list.sh +0 -109
- package/autopm/.claude/scripts/pm/epic-show.js +0 -291
- package/autopm/.claude/scripts/pm/epic-show.sh +0 -105
- package/autopm/.claude/scripts/pm/epic-split.js +0 -522
- package/autopm/.claude/scripts/pm/epic-start/epic-start.js +0 -183
- package/autopm/.claude/scripts/pm/epic-start/epic-start.sh +0 -94
- package/autopm/.claude/scripts/pm/epic-status.js +0 -291
- package/autopm/.claude/scripts/pm/epic-status.sh +0 -104
- package/autopm/.claude/scripts/pm/epic-sync/README.md +0 -208
- package/autopm/.claude/scripts/pm/epic-sync/create-epic-issue.sh +0 -77
- package/autopm/.claude/scripts/pm/epic-sync/create-task-issues.sh +0 -86
- package/autopm/.claude/scripts/pm/epic-sync/update-epic-file.sh +0 -79
- package/autopm/.claude/scripts/pm/epic-sync/update-references.sh +0 -89
- package/autopm/.claude/scripts/pm/epic-sync.sh +0 -137
- package/autopm/.claude/scripts/pm/help.js +0 -92
- package/autopm/.claude/scripts/pm/help.sh +0 -90
- package/autopm/.claude/scripts/pm/in-progress.js +0 -178
- package/autopm/.claude/scripts/pm/in-progress.sh +0 -93
- package/autopm/.claude/scripts/pm/init.js +0 -321
- package/autopm/.claude/scripts/pm/init.sh +0 -178
- package/autopm/.claude/scripts/pm/issue-close.js +0 -232
- package/autopm/.claude/scripts/pm/issue-edit.js +0 -310
- package/autopm/.claude/scripts/pm/issue-show.js +0 -272
- package/autopm/.claude/scripts/pm/issue-start.js +0 -181
- package/autopm/.claude/scripts/pm/issue-sync/format-comment.sh +0 -468
- package/autopm/.claude/scripts/pm/issue-sync/gather-updates.sh +0 -460
- package/autopm/.claude/scripts/pm/issue-sync/post-comment.sh +0 -330
- package/autopm/.claude/scripts/pm/issue-sync/preflight-validation.sh +0 -348
- package/autopm/.claude/scripts/pm/issue-sync/update-frontmatter.sh +0 -387
- package/autopm/.claude/scripts/pm/lib/README.md +0 -85
- package/autopm/.claude/scripts/pm/lib/epic-discovery.js +0 -119
- package/autopm/.claude/scripts/pm/lib/logger.js +0 -78
- package/autopm/.claude/scripts/pm/next.js +0 -189
- package/autopm/.claude/scripts/pm/next.sh +0 -72
- package/autopm/.claude/scripts/pm/optimize.js +0 -407
- package/autopm/.claude/scripts/pm/pr-create.js +0 -337
- package/autopm/.claude/scripts/pm/pr-list.js +0 -257
- package/autopm/.claude/scripts/pm/prd-list.js +0 -242
- package/autopm/.claude/scripts/pm/prd-list.sh +0 -103
- package/autopm/.claude/scripts/pm/prd-new.js +0 -684
- package/autopm/.claude/scripts/pm/prd-parse.js +0 -547
- package/autopm/.claude/scripts/pm/prd-status.js +0 -152
- package/autopm/.claude/scripts/pm/prd-status.sh +0 -63
- package/autopm/.claude/scripts/pm/release.js +0 -460
- package/autopm/.claude/scripts/pm/search.js +0 -192
- package/autopm/.claude/scripts/pm/search.sh +0 -89
- package/autopm/.claude/scripts/pm/standup.js +0 -362
- package/autopm/.claude/scripts/pm/standup.sh +0 -95
- package/autopm/.claude/scripts/pm/status.js +0 -148
- package/autopm/.claude/scripts/pm/status.sh +0 -59
- package/autopm/.claude/scripts/pm/sync-batch.js +0 -337
- package/autopm/.claude/scripts/pm/sync.js +0 -343
- package/autopm/.claude/scripts/pm/template-list.js +0 -141
- package/autopm/.claude/scripts/pm/template-new.js +0 -366
- package/autopm/.claude/scripts/pm/validate.js +0 -274
- package/autopm/.claude/scripts/pm/validate.sh +0 -106
- package/autopm/.claude/scripts/pm/what-next.js +0 -660
- 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.*
|