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
|
@@ -1,382 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Clean up stale worktree administrative files and optionally remove empty directories
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Cleanup Git Worktrees
|
|
6
|
-
|
|
7
|
-
Очищает устаревшие административные файлы git worktrees и опционально удаляет пустые директории.
|
|
8
|
-
|
|
9
|
-
**Что делает команда:**
|
|
10
|
-
- Находит и удаляет административные файлы для несуществующих worktrees
|
|
11
|
-
- Опционально удаляет пустые директории в `megacampus2-worktrees/`
|
|
12
|
-
- Проверяет целостность worktrees
|
|
13
|
-
- Восстанавливает поврежденные worktrees (если возможно)
|
|
14
|
-
|
|
15
|
-
**Аргументы:**
|
|
16
|
-
- `[--dry-run]` - показать что будет удалено без удаления (опционально)
|
|
17
|
-
- `[--remove-dirs]` - удалить пустые директории (опционально)
|
|
18
|
-
|
|
19
|
-
**Примеры:**
|
|
20
|
-
```bash
|
|
21
|
-
/worktree-cleanup
|
|
22
|
-
/worktree-cleanup --dry-run
|
|
23
|
-
/worktree-cleanup --remove-dirs
|
|
24
|
-
/worktree-cleanup --dry-run --remove-dirs
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## Your Task
|
|
30
|
-
|
|
31
|
-
### Step 1: Получение аргументов
|
|
32
|
-
|
|
33
|
-
Извлеки флаги из запроса пользователя:
|
|
34
|
-
- `--dry-run` - только показать, не удалять (опциональный)
|
|
35
|
-
- `--remove-dirs` - удалить пустые директории (опциональный)
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
### Step 2: Анализ текущего состояния
|
|
40
|
-
|
|
41
|
-
1. **Получить список worktrees**
|
|
42
|
-
```bash
|
|
43
|
-
git worktree list --porcelain
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
2. **Проверить директорию worktrees**
|
|
47
|
-
```bash
|
|
48
|
-
ls -la ../megacampus2-worktrees/ 2>/dev/null
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
3. **Найти orphaned worktrees**
|
|
52
|
-
- Директории в `megacampus2-worktrees/`, которых нет в `git worktree list`
|
|
53
|
-
- Worktrees в `git worktree list`, директории которых не существуют
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
### Step 3: Поиск проблем
|
|
58
|
-
|
|
59
|
-
**Типы проблем:**
|
|
60
|
-
|
|
61
|
-
1. **Prunable worktrees** - административные файлы для удаленных worktrees
|
|
62
|
-
2. **Orphaned directories** - директории без git worktree записей
|
|
63
|
-
3. **Missing directories** - worktree записи без директорий
|
|
64
|
-
4. **Empty directories** - пустые папки в megacampus2-worktrees/
|
|
65
|
-
|
|
66
|
-
Для каждой проблемы собери информацию.
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
### Step 4: Git Worktree Prune
|
|
71
|
-
|
|
72
|
-
1. **Проверить что будет удалено** (если --dry-run)
|
|
73
|
-
```bash
|
|
74
|
-
git worktree prune --dry-run --verbose
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
2. **Выполнить cleanup** (если не --dry-run)
|
|
78
|
-
```bash
|
|
79
|
-
git worktree prune --verbose
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
### Step 5: Удаление orphaned директорий
|
|
85
|
-
|
|
86
|
-
Для каждой orphaned директории:
|
|
87
|
-
|
|
88
|
-
1. **Проверить содержимое**
|
|
89
|
-
```bash
|
|
90
|
-
ls -la ../megacampus2-worktrees/DIRNAME/
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
2. **Проверить git статус**
|
|
94
|
-
```bash
|
|
95
|
-
cd ../megacampus2-worktrees/DIRNAME && git status 2>&1
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
3. **Если директория валидна, но не зарегистрирована:**
|
|
99
|
-
- Попытаться восстановить через `git worktree repair`
|
|
100
|
-
```bash
|
|
101
|
-
git worktree repair ../megacampus2-worktrees/DIRNAME
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
4. **Если директория невалидна или пустая:**
|
|
105
|
-
- Если --dry-run: показать что будет удалено
|
|
106
|
-
- Если --remove-dirs: удалить директорию
|
|
107
|
-
```bash
|
|
108
|
-
rm -rf ../megacampus2-worktrees/DIRNAME
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
### Step 6: Проверка целостности
|
|
114
|
-
|
|
115
|
-
1. **Проверить все зарегистрированные worktrees**
|
|
116
|
-
```bash
|
|
117
|
-
git worktree list --porcelain
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
2. **Для worktrees с missing directories:**
|
|
121
|
-
- Показать предупреждение
|
|
122
|
-
- Предложить удалить через `git worktree remove`
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
### Step 7: Вывод отчета
|
|
127
|
-
|
|
128
|
-
**Dry-run режим:**
|
|
129
|
-
```markdown
|
|
130
|
-
# Worktree Cleanup Report (DRY RUN)
|
|
131
|
-
|
|
132
|
-
## Что будет выполнено:
|
|
133
|
-
|
|
134
|
-
### Git Worktree Prune
|
|
135
|
-
- 🗑️ Будет удалено административных записей: N
|
|
136
|
-
- worktree-1: /путь/к/worktree-1 (директория не существует)
|
|
137
|
-
- worktree-2: /путь/к/worktree-2 (директория удалена)
|
|
138
|
-
|
|
139
|
-
### Orphaned Directories [если --remove-dirs]
|
|
140
|
-
- 🗑️ Будет удалено директорий: N
|
|
141
|
-
- ../megacampus2-worktrees/old-feature (не зарегистрирован в git)
|
|
142
|
-
- ../megacampus2-worktrees/test (пустая директория)
|
|
143
|
-
|
|
144
|
-
### Восстановимые Worktrees
|
|
145
|
-
- 🔧 Будет восстановлено: N
|
|
146
|
-
- ../megacampus2-worktrees/recoverable-feature (можно восстановить через repair)
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
|
-
💡 **Для выполнения cleanup:**
|
|
151
|
-
```bash
|
|
152
|
-
/worktree-cleanup # выполнить prune
|
|
153
|
-
/worktree-cleanup --remove-dirs # выполнить prune + удалить директории
|
|
154
|
-
```
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
**Обычный режим:**
|
|
158
|
-
```markdown
|
|
159
|
-
# Worktree Cleanup Report
|
|
160
|
-
|
|
161
|
-
## ✅ Выполнено
|
|
162
|
-
|
|
163
|
-
### Git Worktree Prune
|
|
164
|
-
- ✅ Удалено административных записей: N
|
|
165
|
-
- worktree-1: /путь/к/worktree-1
|
|
166
|
-
- worktree-2: /путь/к/worktree-2
|
|
167
|
-
|
|
168
|
-
### Orphaned Directories [если --remove-dirs]
|
|
169
|
-
- ✅ Удалено директорий: N
|
|
170
|
-
- ../megacampus2-worktrees/old-feature (N MB освобождено)
|
|
171
|
-
- ../megacampus2-worktrees/test
|
|
172
|
-
|
|
173
|
-
### Восстановленные Worktrees
|
|
174
|
-
- ✅ Восстановлено: N
|
|
175
|
-
- ../megacampus2-worktrees/recoverable-feature
|
|
176
|
-
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
## 📊 Текущее состояние
|
|
180
|
-
|
|
181
|
-
**Активные worktrees:** N
|
|
182
|
-
```
|
|
183
|
-
[вывод git worktree list]
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
**Директории в megacampus2-worktrees/:** N
|
|
187
|
-
```
|
|
188
|
-
[список директорий]
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
**Все соответствует зарегистрированным worktrees:** ✅
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## 💾 Освобождено места
|
|
196
|
-
|
|
197
|
-
- Административные файлы: ~X KB
|
|
198
|
-
- Директории: ~X MB [если --remove-dirs]
|
|
199
|
-
- Всего: ~X MB
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
## 💡 Рекомендации
|
|
204
|
-
|
|
205
|
-
[Если нашлись проблемы, которые не были исправлены автоматически]
|
|
206
|
-
|
|
207
|
-
**Missing directories:**
|
|
208
|
-
- worktree-name: /путь/к/worktree
|
|
209
|
-
|
|
210
|
-
Удалить:
|
|
211
|
-
```bash
|
|
212
|
-
git worktree remove worktree-name
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
**Подозрительные директории:** [если не был --remove-dirs]
|
|
216
|
-
- ../megacampus2-worktrees/suspicious-dir
|
|
217
|
-
|
|
218
|
-
Проверить и удалить вручную:
|
|
219
|
-
```bash
|
|
220
|
-
cd ../megacampus2-worktrees/suspicious-dir
|
|
221
|
-
git status # проверить содержимое
|
|
222
|
-
cd ../../megacampus2
|
|
223
|
-
/worktree-remove suspicious-dir # если не нужен
|
|
224
|
-
```
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
**Если ничего не найдено:**
|
|
228
|
-
```markdown
|
|
229
|
-
# Worktree Cleanup Report
|
|
230
|
-
|
|
231
|
-
✨ **Все чисто!**
|
|
232
|
-
|
|
233
|
-
Не найдено проблем с worktrees:
|
|
234
|
-
- ✅ Нет устаревших административных файлов
|
|
235
|
-
- ✅ Нет orphaned директорий
|
|
236
|
-
- ✅ Все worktrees валидны
|
|
237
|
-
- ✅ Все директории соответствуют зарегистрированным worktrees
|
|
238
|
-
|
|
239
|
-
---
|
|
240
|
-
|
|
241
|
-
## 📊 Текущее состояние
|
|
242
|
-
|
|
243
|
-
**Активные worktrees:** N
|
|
244
|
-
```
|
|
245
|
-
[вывод git worktree list]
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
**Директории в megacampus2-worktrees/:** N (все валидны)
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
💡 **Полезные команды:**
|
|
253
|
-
- `/worktree-list` - список всех worktrees
|
|
254
|
-
- `/worktree-create <name>` - создать новый worktree
|
|
255
|
-
- `/worktree-remove <name>` - удалить worktree
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
---
|
|
259
|
-
|
|
260
|
-
## Обработка ошибок
|
|
261
|
-
|
|
262
|
-
**Если директория megacampus2-worktrees не существует:**
|
|
263
|
-
```markdown
|
|
264
|
-
ℹ️ Директория worktrees не существует
|
|
265
|
-
|
|
266
|
-
Путь: `/home/me/code/megacampus2-worktrees/`
|
|
267
|
-
|
|
268
|
-
Это нормально, если вы еще не создавали worktrees.
|
|
269
|
-
|
|
270
|
-
**Создать первый worktree:**
|
|
271
|
-
```bash
|
|
272
|
-
/worktree-create <feature-name>
|
|
273
|
-
```
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
**Если нет прав доступа:**
|
|
277
|
-
```markdown
|
|
278
|
-
❌ Нет прав доступа к директории
|
|
279
|
-
|
|
280
|
-
Путь: `/home/me/code/megacampus2-worktrees/`
|
|
281
|
-
|
|
282
|
-
Проверьте права:
|
|
283
|
-
```bash
|
|
284
|
-
ls -la ../megacampus2-worktrees/
|
|
285
|
-
chmod -R u+rwx ../megacampus2-worktrees/
|
|
286
|
-
```
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
**Если git worktree repair не сработал:**
|
|
290
|
-
```markdown
|
|
291
|
-
⚠️ Не удалось восстановить worktree автоматически
|
|
292
|
-
|
|
293
|
-
Worktree: `../megacampus2-worktrees/DIRNAME`
|
|
294
|
-
|
|
295
|
-
**Варианты:**
|
|
296
|
-
|
|
297
|
-
1. **Удалить и пересоздать:**
|
|
298
|
-
```bash
|
|
299
|
-
rm -rf ../megacampus2-worktrees/DIRNAME
|
|
300
|
-
/worktree-create DIRNAME
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
2. **Вручную удалить запись:**
|
|
304
|
-
```bash
|
|
305
|
-
git worktree remove --force DIRNAME
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
3. **Проверить содержимое:**
|
|
309
|
-
```bash
|
|
310
|
-
cd ../megacampus2-worktrees/DIRNAME
|
|
311
|
-
git status
|
|
312
|
-
# Сохранить важные изменения, затем удалить
|
|
313
|
-
```
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
---
|
|
317
|
-
|
|
318
|
-
## Детальная информация
|
|
319
|
-
|
|
320
|
-
### Что делает git worktree prune?
|
|
321
|
-
|
|
322
|
-
Git worktree prune удаляет административные файлы в `.git/worktrees/` для worktrees, директории которых больше не существуют.
|
|
323
|
-
|
|
324
|
-
**Когда это происходит:**
|
|
325
|
-
- Директория worktree была удалена вручную (rm -rf)
|
|
326
|
-
- Директория была перемещена
|
|
327
|
-
- Файловая система была очищена
|
|
328
|
-
|
|
329
|
-
**Безопасность:**
|
|
330
|
-
- ✅ Безопасно - удаляет только метаданные
|
|
331
|
-
- ✅ Не трогает существующие worktrees
|
|
332
|
-
- ✅ Не удаляет коммиты или ветки
|
|
333
|
-
|
|
334
|
-
### Что такое orphaned directories?
|
|
335
|
-
|
|
336
|
-
Orphaned directories - это директории в `megacampus2-worktrees/`, которые:
|
|
337
|
-
- Не зарегистрированы в `git worktree list`
|
|
338
|
-
- Могут содержать старый код
|
|
339
|
-
- Занимают место на диске
|
|
340
|
-
|
|
341
|
-
**Причины появления:**
|
|
342
|
-
- Ручное удаление worktree без `git worktree remove`
|
|
343
|
-
- Прерванное создание worktree
|
|
344
|
-
- Копирование директорий вручную
|
|
345
|
-
|
|
346
|
-
**Как cleanup обрабатывает:**
|
|
347
|
-
1. Проверяет валидность (есть ли .git)
|
|
348
|
-
2. Пытается восстановить через `git worktree repair`
|
|
349
|
-
3. Если не удалось и указан `--remove-dirs` → удаляет
|
|
350
|
-
|
|
351
|
-
---
|
|
352
|
-
|
|
353
|
-
## Автоматизация
|
|
354
|
-
|
|
355
|
-
Рекомендуется запускать cleanup периодически:
|
|
356
|
-
|
|
357
|
-
```bash
|
|
358
|
-
# Проверить состояние
|
|
359
|
-
/worktree-cleanup --dry-run
|
|
360
|
-
|
|
361
|
-
# Выполнить cleanup
|
|
362
|
-
/worktree-cleanup
|
|
363
|
-
|
|
364
|
-
# Полная очистка (включая директории)
|
|
365
|
-
/worktree-cleanup --remove-dirs
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
**Когда запускать:**
|
|
369
|
-
- После удаления worktrees вручную
|
|
370
|
-
- При проблемах с git worktree commands
|
|
371
|
-
- Периодически (раз в неделю/месяц)
|
|
372
|
-
- Перед созданием новых worktrees
|
|
373
|
-
|
|
374
|
-
---
|
|
375
|
-
|
|
376
|
-
## Примечания
|
|
377
|
-
|
|
378
|
-
- Команда безопасна и не удаляет коммиты или важные данные
|
|
379
|
-
- --dry-run позволяет проверить что будет удалено
|
|
380
|
-
- --remove-dirs удаляет только невалидные/пустые директории
|
|
381
|
-
- Всегда делает backup проверку перед удалением
|
|
382
|
-
- Автоматически пытается восстановить worktrees когда возможно
|
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Create a new git worktree for parallel feature development
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Create Git Worktree
|
|
6
|
-
|
|
7
|
-
Создает новый git worktree для параллельной разработки фичи в изолированной директории.
|
|
8
|
-
|
|
9
|
-
**Что делает команда:**
|
|
10
|
-
- Создает папку `megacampus2-worktrees` рядом с основным проектом (если не существует)
|
|
11
|
-
- Создает новую ветку от текущей (main/develop)
|
|
12
|
-
- Создает worktree в отдельной директории
|
|
13
|
-
- Копирует файлы из `.gitignore` согласно `.worktree-sync.json` (env, config, vscode и др.)
|
|
14
|
-
- Выводит инструкции по работе с worktree
|
|
15
|
-
|
|
16
|
-
**Аргументы:**
|
|
17
|
-
- `<feature-name>` - название фичи (обязательно)
|
|
18
|
-
- `[base-branch]` - ветка-основа (опционально, по умолчанию текущая)
|
|
19
|
-
|
|
20
|
-
**Примеры:**
|
|
21
|
-
```bash
|
|
22
|
-
/worktree-create admin-panel
|
|
23
|
-
/worktree-create payment-system main
|
|
24
|
-
/worktree-create user-profile develop
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## Your Task
|
|
30
|
-
|
|
31
|
-
### Step 1: Получение аргументов
|
|
32
|
-
|
|
33
|
-
Извлеки аргументы из запроса пользователя:
|
|
34
|
-
- `FEATURE_NAME` - название фичи (обязательный)
|
|
35
|
-
- `BASE_BRANCH` - ветка-основа (опциональный, по умолчанию текущая)
|
|
36
|
-
|
|
37
|
-
**Валидация:**
|
|
38
|
-
- FEATURE_NAME не должно быть пустым
|
|
39
|
-
- FEATURE_NAME должно содержать только буквы, цифры, дефисы
|
|
40
|
-
- Запроси подтверждение у пользователя перед созданием
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
### Step 2: Проверка окружения
|
|
45
|
-
|
|
46
|
-
Выполни проверки:
|
|
47
|
-
|
|
48
|
-
1. **Проверить текущую директорию**
|
|
49
|
-
```bash
|
|
50
|
-
pwd
|
|
51
|
-
# Должно быть: /home/me/code/megacampus2
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
2. **Проверить git статус**
|
|
55
|
-
```bash
|
|
56
|
-
git status
|
|
57
|
-
# Убедись, что нет uncommitted changes или предупреди пользователя
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
3. **Получить текущую ветку** (если BASE_BRANCH не указан)
|
|
61
|
-
```bash
|
|
62
|
-
git branch --show-current
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
4. **Проверить, существует ли worktrees директория**
|
|
66
|
-
```bash
|
|
67
|
-
ls -la ../megacampus2-worktrees 2>/dev/null || echo "NOT_EXISTS"
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
### Step 3: Создание структуры
|
|
73
|
-
|
|
74
|
-
1. **Создать worktrees директорию** (если не существует)
|
|
75
|
-
```bash
|
|
76
|
-
mkdir -p ../megacampus2-worktrees
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
2. **Проверить, не существует ли уже worktree с таким именем**
|
|
80
|
-
```bash
|
|
81
|
-
git worktree list
|
|
82
|
-
# Проверь, нет ли уже ../megacampus2-worktrees/FEATURE_NAME
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
3. **Создать новый worktree**
|
|
86
|
-
```bash
|
|
87
|
-
git worktree add ../megacampus2-worktrees/FEATURE_NAME -b feature/FEATURE_NAME BASE_BRANCH
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Где:
|
|
91
|
-
- `../megacampus2-worktrees/FEATURE_NAME` - путь к новой директории
|
|
92
|
-
- `-b feature/FEATURE_NAME` - создать новую ветку с префиксом `feature/`
|
|
93
|
-
- `BASE_BRANCH` - ветка-основа (main, develop или текущая)
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
### Step 4: Синхронизация файлов из .gitignore
|
|
98
|
-
|
|
99
|
-
1. **Прочитать конфигурацию синхронизации**
|
|
100
|
-
```bash
|
|
101
|
-
# Проверить существование .worktree-sync.json
|
|
102
|
-
if [ -f .worktree-sync.json ]; then
|
|
103
|
-
echo "✅ Найден .worktree-sync.json"
|
|
104
|
-
else
|
|
105
|
-
echo "⚠️ .worktree-sync.json не найден, пропускаем синхронизацию"
|
|
106
|
-
fi
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
2. **Извлечь списки для синхронизации**
|
|
110
|
-
|
|
111
|
-
Используй jq или прямое чтение JSON для получения:
|
|
112
|
-
- `sync.files` - отдельные файлы
|
|
113
|
-
- `sync.directories` - директории целиком
|
|
114
|
-
- `sync.patterns` - glob паттерны
|
|
115
|
-
|
|
116
|
-
3. **Скопировать файлы из sync.files**
|
|
117
|
-
```bash
|
|
118
|
-
# Для каждого файла в sync.files
|
|
119
|
-
for file in .env .env.local .env.development .env.test .env.production .mcp.json .mcp.local.json; do
|
|
120
|
-
if [ -f "$file" ]; then
|
|
121
|
-
cp "$file" "../megacampus2-worktrees/FEATURE_NAME/$file"
|
|
122
|
-
echo "✅ Скопирован: $file"
|
|
123
|
-
fi
|
|
124
|
-
done
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
4. **Скопировать директории из sync.directories**
|
|
128
|
-
```bash
|
|
129
|
-
# Для каждой директории в sync.directories
|
|
130
|
-
for dir in .vscode; do
|
|
131
|
-
if [ -d "$dir" ]; then
|
|
132
|
-
cp -r "$dir" "../megacampus2-worktrees/FEATURE_NAME/$dir"
|
|
133
|
-
echo "✅ Скопирована директория: $dir"
|
|
134
|
-
fi
|
|
135
|
-
done
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
5. **Скопировать файлы по паттернам из sync.patterns**
|
|
139
|
-
```bash
|
|
140
|
-
# packages/*/.env
|
|
141
|
-
find packages -maxdepth 2 -name ".env" -o -name ".env.local" | while read file; do
|
|
142
|
-
if [ -f "$file" ]; then
|
|
143
|
-
# Создать директорию если нужно
|
|
144
|
-
mkdir -p "../megacampus2-worktrees/FEATURE_NAME/$(dirname "$file")"
|
|
145
|
-
cp "$file" "../megacampus2-worktrees/FEATURE_NAME/$file"
|
|
146
|
-
echo "✅ Скопирован: $file"
|
|
147
|
-
fi
|
|
148
|
-
done
|
|
149
|
-
|
|
150
|
-
# courseai-next/.env.local
|
|
151
|
-
if [ -f courseai-next/.env.local ]; then
|
|
152
|
-
mkdir -p "../megacampus2-worktrees/FEATURE_NAME/courseai-next"
|
|
153
|
-
cp courseai-next/.env.local "../megacampus2-worktrees/FEATURE_NAME/courseai-next/.env.local"
|
|
154
|
-
echo "✅ Скопирован: courseai-next/.env.local"
|
|
155
|
-
fi
|
|
156
|
-
|
|
157
|
-
# services/*/.env
|
|
158
|
-
find services -maxdepth 2 -name ".env" | while read file; do
|
|
159
|
-
if [ -f "$file" ]; then
|
|
160
|
-
mkdir -p "../megacampus2-worktrees/FEATURE_NAME/$(dirname "$file")"
|
|
161
|
-
cp "$file" "../megacampus2-worktrees/FEATURE_NAME/$file"
|
|
162
|
-
echo "✅ Скопирован: $file"
|
|
163
|
-
fi
|
|
164
|
-
done
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
6. **Вывести отчет о синхронизации**
|
|
168
|
-
```bash
|
|
169
|
-
echo ""
|
|
170
|
-
echo "📦 Синхронизировано файлов: N"
|
|
171
|
-
echo "📁 Синхронизировано директорий: N"
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
2. **Проверить созданный worktree**
|
|
175
|
-
```bash
|
|
176
|
-
git worktree list
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-
### Step 5: Вывод информации
|
|
182
|
-
|
|
183
|
-
После успешного создания выведи пользователю:
|
|
184
|
-
|
|
185
|
-
```markdown
|
|
186
|
-
✅ Worktree успешно создан!
|
|
187
|
-
|
|
188
|
-
📁 **Расположение:**
|
|
189
|
-
- Основной проект: `/home/me/code/megacampus2`
|
|
190
|
-
- Новый worktree: `/home/me/code/megacampus2-worktrees/FEATURE_NAME`
|
|
191
|
-
|
|
192
|
-
🌿 **Ветка:**
|
|
193
|
-
- Название: `feature/FEATURE_NAME`
|
|
194
|
-
- Основа: `BASE_BRANCH`
|
|
195
|
-
|
|
196
|
-
📦 **Синхронизировано:**
|
|
197
|
-
- Файлов: N (.env, .mcp.json и др.)
|
|
198
|
-
- Директорий: N (.vscode и др.)
|
|
199
|
-
- Конфигурация: `.worktree-sync.json`
|
|
200
|
-
|
|
201
|
-
📋 **Следующие шаги:**
|
|
202
|
-
|
|
203
|
-
1. Открой новый worktree в отдельном окне IDE:
|
|
204
|
-
```bash
|
|
205
|
-
cd ../megacampus2-worktrees/FEATURE_NAME
|
|
206
|
-
code . # или другой редактор
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
2. Начни работу над фичей в новой ветке
|
|
210
|
-
|
|
211
|
-
3. Когда закончишь:
|
|
212
|
-
```bash
|
|
213
|
-
git add .
|
|
214
|
-
git commit -m "feat: описание изменений"
|
|
215
|
-
git push -u origin feature/FEATURE_NAME
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
4. Создай Pull Request на GitHub
|
|
219
|
-
|
|
220
|
-
5. После мерджа удали worktree:
|
|
221
|
-
```bash
|
|
222
|
-
/worktree-remove FEATURE_NAME
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
💡 **Полезные команды:**
|
|
226
|
-
- `/worktree-list` - список всех worktrees
|
|
227
|
-
- `/worktree-remove FEATURE_NAME` - удалить worktree
|
|
228
|
-
- `/worktree-cleanup` - очистить устаревшие worktrees
|
|
229
|
-
|
|
230
|
-
⚠️ **Важно:**
|
|
231
|
-
- Каждый worktree должен быть на своей ветке
|
|
232
|
-
- Нельзя checkout одну ветку в разных worktrees
|
|
233
|
-
- Основной проект остается на своей ветке
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
---
|
|
237
|
-
|
|
238
|
-
## Обработка ошибок
|
|
239
|
-
|
|
240
|
-
**Если worktree уже существует:**
|
|
241
|
-
```
|
|
242
|
-
❌ Worktree с именем "FEATURE_NAME" уже существует!
|
|
243
|
-
|
|
244
|
-
Существующие worktrees:
|
|
245
|
-
[вывод git worktree list]
|
|
246
|
-
|
|
247
|
-
Варианты:
|
|
248
|
-
1. Используй другое имя: /worktree-create FEATURE_NAME-v2
|
|
249
|
-
2. Удали существующий: /worktree-remove FEATURE_NAME
|
|
250
|
-
3. Используй существующий worktree
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
**Если ветка уже существует:**
|
|
254
|
-
```
|
|
255
|
-
❌ Ветка "feature/FEATURE_NAME" уже существует!
|
|
256
|
-
|
|
257
|
-
Варианты:
|
|
258
|
-
1. Checkout существующей ветки:
|
|
259
|
-
git worktree add ../megacampus2-worktrees/FEATURE_NAME feature/FEATURE_NAME
|
|
260
|
-
|
|
261
|
-
2. Используй другое имя ветки
|
|
262
|
-
3. Удали старую ветку: git branch -d feature/FEATURE_NAME
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
**Если есть uncommitted changes:**
|
|
266
|
-
```
|
|
267
|
-
⚠️ У тебя есть незакоммиченные изменения!
|
|
268
|
-
|
|
269
|
-
git status:
|
|
270
|
-
[вывод]
|
|
271
|
-
|
|
272
|
-
Рекомендация:
|
|
273
|
-
1. Commit изменения: git commit -am "WIP"
|
|
274
|
-
2. Или stash: git stash
|
|
275
|
-
3. Или продолжить создание worktree (безопасно, изменения останутся в основном worktree)
|
|
276
|
-
|
|
277
|
-
Продолжить? (yes/no)
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
---
|
|
281
|
-
|
|
282
|
-
## Примечания
|
|
283
|
-
|
|
284
|
-
- Worktrees используют один `.git` репозиторий → экономия места
|
|
285
|
-
- Можно работать над несколькими фичами параллельно
|
|
286
|
-
- Идеально подходит для AI-разработки с Claude Code
|
|
287
|
-
- После создания worktree можно открыть новое окно Claude Code в новой директории
|