claude-code-orchestrator-kit 1.4.0 → 1.4.15
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/.claude/agents/business/workers/lead-research-assistant.md +199 -0
- package/.claude/agents/database/workers/database-architect.md +3 -3
- package/.claude/agents/database/workers/supabase-auditor.md +7 -7
- package/.claude/agents/development/workers/code-reviewer.md +17 -2
- package/.claude/agents/frontend/workers/nextjs-ui-designer.md +30 -0
- package/.claude/agents/health/workers/bug-fixer.md +31 -2
- package/.claude/agents/health/workers/bug-hunter.md +0 -1
- package/.claude/agents/health/workers/dead-code-hunter.md +167 -75
- package/.claude/agents/health/workers/dead-code-remover.md +217 -66
- package/.claude/agents/health/workers/dependency-auditor.md +83 -24
- package/.claude/agents/health/workers/dependency-updater.md +0 -1
- package/.claude/agents/health/workers/security-scanner.md +0 -1
- package/.claude/agents/infrastructure/workers/deployment-engineer.md +446 -0
- package/.claude/agents/infrastructure/workers/infrastructure-specialist.md +2 -2
- package/.claude/agents/meta/workers/meta-agent-v3.md +22 -0
- package/.claude/agents/testing/workers/integration-tester.md +1 -1
- package/.claude/agents/testing/workers/test-writer.md +16 -0
- package/.claude/commands/health-bugs.md +14 -281
- package/.claude/commands/health-cleanup.md +14 -281
- package/.claude/commands/health-deps.md +14 -281
- package/.claude/commands/health-metrics.md +51 -709
- package/.claude/commands/health-reuse.md +14 -311
- package/.claude/commands/health-security.md +14 -281
- package/.claude/commands/push.md +17 -3
- package/.claude/commands/speckit.implement.md +0 -11
- package/.claude/commands/speckit.taskstoissues.md +95 -5
- package/.claude/commands/worktree.md +150 -0
- package/.claude/scripts/gates/check-bundle-size.sh +0 -0
- package/.claude/scripts/gates/check-coverage.sh +0 -0
- package/.claude/scripts/gates/check-security.sh +0 -0
- package/.claude/scripts/release.sh +469 -94
- package/.claude/skills/algorithmic-art/LICENSE.txt +202 -0
- package/.claude/skills/algorithmic-art/SKILL.md +405 -0
- package/.claude/skills/algorithmic-art/templates/generator_template.js +223 -0
- package/.claude/skills/algorithmic-art/templates/viewer.html +599 -0
- package/.claude/skills/artifacts-builder/LICENSE.txt +202 -0
- package/.claude/skills/artifacts-builder/SKILL.md +74 -0
- package/.claude/skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/.claude/skills/artifacts-builder/scripts/init-artifact.sh +322 -0
- package/.claude/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/.claude/skills/bug-health-inline/SKILL.md +221 -0
- package/.claude/skills/bug-health-inline/references/worker-prompts.md +182 -0
- package/.claude/skills/canvas-design/LICENSE.txt +202 -0
- package/.claude/skills/canvas-design/SKILL.md +130 -0
- package/.claude/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/.claude/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/.claude/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/.claude/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/.claude/skills/changelog-generator/SKILL.md +104 -0
- package/.claude/skills/cleanup-health-inline/SKILL.md +224 -0
- package/.claude/skills/code-reviewer/SKILL.md +209 -0
- package/.claude/skills/code-reviewer/references/code_review_checklist.md +103 -0
- package/.claude/skills/code-reviewer/references/coding_standards.md +103 -0
- package/.claude/skills/code-reviewer/references/common_antipatterns.md +103 -0
- package/.claude/skills/code-reviewer/scripts/code_quality_checker.py +114 -0
- package/.claude/skills/code-reviewer/scripts/pr_analyzer.py +114 -0
- package/.claude/skills/code-reviewer/scripts/review_report_generator.py +114 -0
- package/.claude/skills/content-research-writer/SKILL.md +538 -0
- package/.claude/skills/deps-health-inline/SKILL.md +227 -0
- package/.claude/skills/frontend-aesthetics/SKILL.md +51 -396
- package/.claude/skills/git-commit-helper/SKILL.md +203 -0
- package/.claude/skills/lead-research-assistant/SKILL.md +199 -0
- package/.claude/skills/reuse-health-inline/SKILL.md +248 -0
- package/.claude/skills/rollback-changes/SKILL.md +50 -524
- package/.claude/skills/run-quality-gate/SKILL.md +36 -346
- package/.claude/skills/security-health-inline/SKILL.md +224 -0
- package/.claude/skills/senior-devops/SKILL.md +209 -0
- package/.claude/skills/senior-devops/references/cicd_pipeline_guide.md +103 -0
- package/.claude/skills/senior-devops/references/deployment_strategies.md +103 -0
- package/.claude/skills/senior-devops/references/infrastructure_as_code.md +103 -0
- package/.claude/skills/senior-devops/scripts/deployment_manager.py +114 -0
- package/.claude/skills/senior-devops/scripts/pipeline_generator.py +114 -0
- package/.claude/skills/senior-devops/scripts/terraform_scaffolder.py +114 -0
- package/.claude/skills/senior-prompt-engineer/SKILL.md +226 -0
- package/.claude/skills/senior-prompt-engineer/references/agentic_system_design.md +80 -0
- package/.claude/skills/senior-prompt-engineer/references/llm_evaluation_frameworks.md +80 -0
- package/.claude/skills/senior-prompt-engineer/references/prompt_engineering_patterns.md +80 -0
- package/.claude/skills/senior-prompt-engineer/scripts/agent_orchestrator.py +100 -0
- package/.claude/skills/senior-prompt-engineer/scripts/prompt_optimizer.py +100 -0
- package/.claude/skills/senior-prompt-engineer/scripts/rag_evaluator.py +100 -0
- package/.claude/skills/setup-knip/SKILL.md +372 -0
- package/.claude/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/.claude/skills/systematic-debugging/SKILL.md +296 -0
- package/.claude/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/.claude/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/.claude/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/.claude/skills/systematic-debugging/find-polluter.sh +63 -0
- package/.claude/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/.claude/skills/systematic-debugging/test-academic.md +14 -0
- package/.claude/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/.claude/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/.claude/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/.claude/skills/theme-factory/LICENSE.txt +202 -0
- package/.claude/skills/theme-factory/SKILL.md +59 -0
- package/.claude/skills/theme-factory/theme-showcase.pdf +0 -0
- package/.claude/skills/theme-factory/themes/arctic-frost.md +19 -0
- package/.claude/skills/theme-factory/themes/botanical-garden.md +19 -0
- package/.claude/skills/theme-factory/themes/desert-rose.md +19 -0
- package/.claude/skills/theme-factory/themes/forest-canopy.md +19 -0
- package/.claude/skills/theme-factory/themes/golden-hour.md +19 -0
- package/.claude/skills/theme-factory/themes/midnight-galaxy.md +19 -0
- package/.claude/skills/theme-factory/themes/modern-minimalist.md +19 -0
- package/.claude/skills/theme-factory/themes/ocean-depths.md +19 -0
- package/.claude/skills/theme-factory/themes/sunset-boulevard.md +19 -0
- package/.claude/skills/theme-factory/themes/tech-innovation.md +19 -0
- package/.claude/skills/ui-design-system/SKILL.md +32 -0
- package/.claude/skills/ui-design-system/scripts/design_token_generator.py +529 -0
- package/.claude/skills/ux-researcher-designer/SKILL.md +30 -0
- package/.claude/skills/ux-researcher-designer/scripts/persona_generator.py +508 -0
- package/.claude/skills/webapp-testing/LICENSE.txt +202 -0
- package/.claude/skills/webapp-testing/SKILL.md +96 -0
- package/.claude/skills/webapp-testing/examples/console_logging.py +35 -0
- package/.claude/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/.claude/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/.claude/skills/webapp-testing/scripts/with_server.py +106 -0
- package/.gitignore +4 -0
- package/README.md +492 -1093
- package/README.ru.md +719 -0
- package/docs/Agents Ecosystem/AGENT-ORCHESTRATION.md +2 -2
- package/docs/{SPECKIT-GUIDE.md → COMMANDS-GUIDE.md} +252 -20
- package/docs/reports/skills/new-skills-analysis-2025-12.md +331 -0
- package/package.json +11 -3
- package/.claude/agents/health/orchestrators/bug-orchestrator.md +0 -1084
- package/.claude/agents/health/orchestrators/dead-code-orchestrator.md +0 -1064
- package/.claude/agents/health/orchestrators/dependency-orchestrator.md +0 -1064
- package/.claude/agents/health/orchestrators/reuse-orchestrator.md +0 -1112
- package/.claude/agents/health/orchestrators/security-orchestrator.md +0 -1064
- package/.claude/commands/worktree-cleanup.md +0 -382
- package/.claude/commands/worktree-create.md +0 -287
- package/.claude/commands/worktree-list.md +0 -239
- package/.claude/commands/worktree-remove.md +0 -339
- package/.claude/project-index.md +0 -75
- package/.claude/skills/load-project-context/SKILL.md +0 -89
- package/.claude/skills/resume-session/SKILL.md +0 -164
- package/.claude/skills/save-session-context/SKILL.md +0 -123
- package/.claude/templates/project-index.template.md +0 -67
- package/.claude/templates/session/context.template.md +0 -40
- package/.claude/templates/session/log.template.md +0 -72
- package/.github/BRANCH_PROTECTION.md +0 -137
- package/.github/workflows/build.yml +0 -70
- package/.github/workflows/deploy-staging.yml +0 -90
- package/.github/workflows/test.yml +0 -104
|
@@ -17,13 +17,6 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
17
17
|
|
|
18
18
|
## Outline
|
|
19
19
|
|
|
20
|
-
0. **Session Check** (DeksdenFlow):
|
|
21
|
-
- Invoke `resume-session` skill to check for existing session
|
|
22
|
-
- If valid session found: ask user "Resume previous session or start fresh?"
|
|
23
|
-
- If resume: load context.md and session-log.md, jump to saved phase
|
|
24
|
-
- If fresh or no session: proceed to step 1
|
|
25
|
-
- **Also**: Invoke `load-project-context` skill to load project structure map
|
|
26
|
-
|
|
27
20
|
1. Run `.specify/scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks` from repo root and parse FEATURE_DIR and AVAILABLE_DOCS list. All paths must be absolute. For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").
|
|
28
21
|
|
|
29
22
|
2. **Check checklists status** (if FEATURE_DIR/checklists/ exists):
|
|
@@ -192,10 +185,6 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
192
185
|
- Provide clear error messages with context for debugging
|
|
193
186
|
- Suggest next steps if implementation cannot proceed
|
|
194
187
|
- **IMPORTANT** For completed tasks, make sure to mark the task off as [X] in the tasks file
|
|
195
|
-
- **Session Context** (DeksdenFlow):
|
|
196
|
-
* After completing each PHASE (not task): invoke `save-session-context` skill
|
|
197
|
-
* On error or pause: save context before stopping
|
|
198
|
-
* Log significant decisions to session-log.md (architecture choices, issue resolutions)
|
|
199
188
|
- **Critical Rules**:
|
|
200
189
|
* NEVER skip verification
|
|
201
190
|
* NEVER proceed if task failed
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Convert existing tasks into actionable, dependency-ordered GitHub issues for the feature based on available design artifacts.
|
|
3
|
-
tools: ['github/github-mcp-server/issue_write']
|
|
4
3
|
scripts:
|
|
5
4
|
sh: .specify/scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks
|
|
6
5
|
ps: .specify/scripts/powershell/check-prerequisites.ps1 -Json -RequireTasks -IncludeTasks
|
|
@@ -18,18 +17,109 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
18
17
|
|
|
19
18
|
1. Run `.specify/scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks` from repo root and parse FEATURE_DIR and AVAILABLE_DOCS list. All paths must be absolute. For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").
|
|
20
19
|
|
|
21
|
-
2. From the executed script, extract the path to **tasks**.
|
|
20
|
+
2. From the executed script, extract the path to **tasks.md**.
|
|
22
21
|
|
|
23
|
-
3.
|
|
22
|
+
3. **Verify GitHub remote**:
|
|
24
23
|
|
|
25
24
|
```bash
|
|
26
25
|
git config --get remote.origin.url
|
|
27
26
|
```
|
|
28
27
|
|
|
29
28
|
> [!CAUTION]
|
|
30
|
-
> ONLY PROCEED TO NEXT STEPS IF THE REMOTE IS A GITHUB URL
|
|
29
|
+
> ONLY PROCEED TO NEXT STEPS IF THE REMOTE IS A GITHUB URL (contains `github.com`)
|
|
31
30
|
|
|
32
|
-
4.
|
|
31
|
+
4. **Check `gh` CLI availability**:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
gh --version
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
If `gh` is not installed, inform the user:
|
|
38
|
+
```
|
|
39
|
+
GitHub CLI (gh) is not installed. Install it:
|
|
40
|
+
- macOS: brew install gh
|
|
41
|
+
- Ubuntu: sudo apt install gh
|
|
42
|
+
- Windows: winget install GitHub.cli
|
|
43
|
+
|
|
44
|
+
Then authenticate: gh auth login
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
5. **Verify authentication**:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
gh auth status
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
If not authenticated, prompt user to run `gh auth login`.
|
|
54
|
+
|
|
55
|
+
6. **Parse tasks.md** and extract all incomplete tasks:
|
|
56
|
+
- Tasks matching `- [ ] T### ...` pattern
|
|
57
|
+
- Extract: Task ID, description, phase, parallel marker [P], user story [US#]
|
|
58
|
+
|
|
59
|
+
7. **For each task, create a GitHub issue** using `gh` CLI:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
gh issue create \
|
|
63
|
+
--title "T001: Create project structure" \
|
|
64
|
+
--body "## Task Details
|
|
65
|
+
|
|
66
|
+
**ID**: T001
|
|
67
|
+
**Phase**: Setup
|
|
68
|
+
**Parallel**: No
|
|
69
|
+
**User Story**: N/A
|
|
70
|
+
|
|
71
|
+
### Description
|
|
72
|
+
Create project structure per implementation plan
|
|
73
|
+
|
|
74
|
+
### Acceptance Criteria
|
|
75
|
+
- [ ] Task completed as specified in tasks.md
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
*Generated from tasks.md by /speckit.taskstoissues*" \
|
|
79
|
+
--label "speckit"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Formatting rules**:
|
|
83
|
+
- Title: `T###: <short description>`
|
|
84
|
+
- Body: Task details, phase, parallel info, acceptance criteria
|
|
85
|
+
- Label: `speckit` (create if doesn't exist)
|
|
86
|
+
- Optional labels based on phase: `setup`, `foundational`, `user-story`, `polish`
|
|
87
|
+
|
|
88
|
+
8. **Create labels if needed** (first run only):
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
gh label create speckit --description "Generated from spec-kit tasks" --color "0052CC" 2>/dev/null || true
|
|
92
|
+
gh label create setup --description "Setup phase task" --color "C5DEF5" 2>/dev/null || true
|
|
93
|
+
gh label create user-story --description "User story implementation" --color "D4C5F9" 2>/dev/null || true
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
9. **Report results**:
|
|
97
|
+
- Number of issues created
|
|
98
|
+
- Links to created issues
|
|
99
|
+
- Any errors encountered
|
|
33
100
|
|
|
34
101
|
> [!CAUTION]
|
|
35
102
|
> UNDER NO CIRCUMSTANCES EVER CREATE ISSUES IN REPOSITORIES THAT DO NOT MATCH THE REMOTE URL
|
|
103
|
+
|
|
104
|
+
## Options
|
|
105
|
+
|
|
106
|
+
User can specify in `$ARGUMENTS`:
|
|
107
|
+
- `--dry-run` — показать какие issues будут созданы, но не создавать
|
|
108
|
+
- `--phase N` — создать issues только для Phase N
|
|
109
|
+
- `--limit N` — создать только первые N issues
|
|
110
|
+
|
|
111
|
+
## Examples
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# Создать issues для всех задач
|
|
115
|
+
/speckit.taskstoissues
|
|
116
|
+
|
|
117
|
+
# Только показать что будет создано
|
|
118
|
+
/speckit.taskstoissues --dry-run
|
|
119
|
+
|
|
120
|
+
# Только Phase 1 (Setup)
|
|
121
|
+
/speckit.taskstoissues --phase 1
|
|
122
|
+
|
|
123
|
+
# Первые 5 задач
|
|
124
|
+
/speckit.taskstoissues --limit 5
|
|
125
|
+
```
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Manage git worktrees for parallel feature development (create, remove, list, cleanup)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Git Worktree Manager
|
|
6
|
+
|
|
7
|
+
Manage git worktrees for parallel feature development.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
/worktree create <feature-name> [base-branch]
|
|
13
|
+
/worktree remove <feature-name> [--force] [--delete-branch]
|
|
14
|
+
/worktree list
|
|
15
|
+
/worktree cleanup [--dry-run] [--remove-dirs]
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Commands
|
|
21
|
+
|
|
22
|
+
### create
|
|
23
|
+
|
|
24
|
+
Create new worktree for parallel development.
|
|
25
|
+
|
|
26
|
+
**What it does:**
|
|
27
|
+
- Creates `megacampus2-worktrees/` directory (if not exists)
|
|
28
|
+
- Creates new branch `feature/<name>` from base
|
|
29
|
+
- Creates worktree in separate directory
|
|
30
|
+
- Copies gitignored files per `.worktree-sync.json`
|
|
31
|
+
|
|
32
|
+
**Process:**
|
|
33
|
+
1. Validate feature name (alphanumeric, hyphens only)
|
|
34
|
+
2. Check for uncommitted changes (warn if present)
|
|
35
|
+
3. Create worktree: `git worktree add ../megacampus2-worktrees/<name> -b feature/<name> <base>`
|
|
36
|
+
4. Sync files from `.worktree-sync.json`:
|
|
37
|
+
- `sync.files`: `.env`, `.env.local`, `.mcp.json`, etc.
|
|
38
|
+
- `sync.directories`: `.vscode`
|
|
39
|
+
- `sync.patterns`: `packages/*/.env`, `services/*/.env`
|
|
40
|
+
5. Output next steps (open in IDE, commit workflow)
|
|
41
|
+
|
|
42
|
+
**Errors:**
|
|
43
|
+
- Worktree exists: suggest different name or remove existing
|
|
44
|
+
- Branch exists: checkout existing or use different name
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
### remove
|
|
49
|
+
|
|
50
|
+
Remove worktree and optionally delete branch.
|
|
51
|
+
|
|
52
|
+
**What it does:**
|
|
53
|
+
- Checks for uncommitted changes
|
|
54
|
+
- Removes worktree directory
|
|
55
|
+
- Optionally deletes local and remote branch
|
|
56
|
+
- Runs `git worktree prune`
|
|
57
|
+
|
|
58
|
+
**Process:**
|
|
59
|
+
1. Find worktree by name
|
|
60
|
+
2. Check git status (if uncommitted changes, require --force or user choice)
|
|
61
|
+
3. Remove: `git worktree remove [--force] <path>`
|
|
62
|
+
4. If --delete-branch:
|
|
63
|
+
- Check if merged: `git branch --merged main | grep feature/<name>`
|
|
64
|
+
- Delete local: `git branch -d/-D feature/<name>`
|
|
65
|
+
- Delete remote: `git push origin --delete feature/<name>`
|
|
66
|
+
5. Cleanup: `git worktree prune`
|
|
67
|
+
|
|
68
|
+
**Errors:**
|
|
69
|
+
- Not found: show available worktrees
|
|
70
|
+
- Main worktree: cannot remove
|
|
71
|
+
- Uncommitted changes: offer commit/force/cancel
|
|
72
|
+
- Unmerged branch: warn, offer PR/force/keep-branch
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
### list
|
|
77
|
+
|
|
78
|
+
Show all worktrees with status.
|
|
79
|
+
|
|
80
|
+
**Output:**
|
|
81
|
+
```
|
|
82
|
+
# Git Worktrees (N total)
|
|
83
|
+
|
|
84
|
+
| Name | Branch | Path | Status |
|
|
85
|
+
|------|--------|------|--------|
|
|
86
|
+
| main (основной) | main | /home/me/code/megacampus2 | Active |
|
|
87
|
+
| feature-name | feature/feature-name | .../megacampus2-worktrees/feature-name | Active |
|
|
88
|
+
|
|
89
|
+
Commands: /worktree create <name> | /worktree remove <name>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Process:**
|
|
93
|
+
1. Run `git worktree list --porcelain`
|
|
94
|
+
2. For each worktree: extract path, branch, HEAD, status (locked/prunable)
|
|
95
|
+
3. Format table with status indicators
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
### cleanup
|
|
100
|
+
|
|
101
|
+
Clean up stale worktree files and orphaned directories.
|
|
102
|
+
|
|
103
|
+
**What it does:**
|
|
104
|
+
- Prunes administrative files for deleted worktrees
|
|
105
|
+
- Repairs recoverable worktrees
|
|
106
|
+
- Removes orphaned directories (with --remove-dirs)
|
|
107
|
+
|
|
108
|
+
**Process:**
|
|
109
|
+
1. Dry-run check: `git worktree prune --dry-run --verbose`
|
|
110
|
+
2. Find orphaned dirs in `megacampus2-worktrees/` not in `git worktree list`
|
|
111
|
+
3. Try repair: `git worktree repair <path>`
|
|
112
|
+
4. If not --dry-run: `git worktree prune --verbose`
|
|
113
|
+
5. If --remove-dirs: remove orphaned/empty directories
|
|
114
|
+
|
|
115
|
+
**Output:**
|
|
116
|
+
```
|
|
117
|
+
# Worktree Cleanup Report
|
|
118
|
+
|
|
119
|
+
✅ Pruned administrative records: N
|
|
120
|
+
✅ Removed directories: N (--remove-dirs)
|
|
121
|
+
✅ Recovered worktrees: N
|
|
122
|
+
|
|
123
|
+
Active worktrees: N
|
|
124
|
+
All valid: ✅
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## File Sync Config
|
|
130
|
+
|
|
131
|
+
`.worktree-sync.json` format:
|
|
132
|
+
```json
|
|
133
|
+
{
|
|
134
|
+
"sync": {
|
|
135
|
+
"files": [".env", ".env.local", ".mcp.json"],
|
|
136
|
+
"directories": [".vscode"],
|
|
137
|
+
"patterns": ["packages/*/.env", "services/*/.env"]
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Notes
|
|
145
|
+
|
|
146
|
+
- Worktrees share `.git` → saves disk space
|
|
147
|
+
- Each worktree must be on unique branch
|
|
148
|
+
- Cannot checkout same branch in multiple worktrees
|
|
149
|
+
- Main worktree cannot be removed
|
|
150
|
+
- Use --dry-run with cleanup to preview changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|