claude-code-orchestrator-kit 1.0.0
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/database/workers/api-builder.md +155 -0
- package/.claude/agents/database/workers/database-architect.md +193 -0
- package/.claude/agents/database/workers/supabase-auditor.md +1070 -0
- package/.claude/agents/development/workers/code-reviewer.md +968 -0
- package/.claude/agents/development/workers/cost-calculator-specialist.md +683 -0
- package/.claude/agents/development/workers/llm-service-specialist.md +999 -0
- package/.claude/agents/development/workers/skill-builder-v2.md +480 -0
- package/.claude/agents/development/workers/typescript-types-specialist.md +649 -0
- package/.claude/agents/development/workers/utility-builder.md +582 -0
- package/.claude/agents/documentation/workers/technical-writer.md +152 -0
- package/.claude/agents/frontend/workers/fullstack-nextjs-specialist.md +206 -0
- package/.claude/agents/frontend/workers/visual-effects-creator.md +159 -0
- package/.claude/agents/health/orchestrators/bug-orchestrator.md +1045 -0
- package/.claude/agents/health/orchestrators/dead-code-orchestrator.md +1045 -0
- package/.claude/agents/health/orchestrators/dependency-orchestrator.md +1045 -0
- package/.claude/agents/health/orchestrators/security-orchestrator.md +1045 -0
- package/.claude/agents/health/workers/bug-fixer.md +525 -0
- package/.claude/agents/health/workers/bug-hunter.md +649 -0
- package/.claude/agents/health/workers/dead-code-hunter.md +446 -0
- package/.claude/agents/health/workers/dead-code-remover.md +437 -0
- package/.claude/agents/health/workers/dependency-auditor.md +379 -0
- package/.claude/agents/health/workers/dependency-updater.md +436 -0
- package/.claude/agents/health/workers/security-scanner.md +700 -0
- package/.claude/agents/health/workers/vulnerability-fixer.md +524 -0
- package/.claude/agents/infrastructure/workers/infrastructure-specialist.md +156 -0
- package/.claude/agents/infrastructure/workers/orchestration-logic-specialist.md +1260 -0
- package/.claude/agents/infrastructure/workers/qdrant-specialist.md +503 -0
- package/.claude/agents/infrastructure/workers/quality-validator-specialist.md +984 -0
- package/.claude/agents/meta/workers/meta-agent-v3.md +503 -0
- package/.claude/agents/research/workers/problem-investigator.md +507 -0
- package/.claude/agents/research/workers/research-specialist.md +423 -0
- package/.claude/agents/testing/workers/accessibility-tester.md +813 -0
- package/.claude/agents/testing/workers/integration-tester.md +188 -0
- package/.claude/agents/testing/workers/mobile-fixes-implementer.md +252 -0
- package/.claude/agents/testing/workers/mobile-responsiveness-tester.md +180 -0
- package/.claude/agents/testing/workers/performance-optimizer.md +262 -0
- package/.claude/agents/testing/workers/test-writer.md +800 -0
- package/.claude/commands/health-bugs.md +297 -0
- package/.claude/commands/health-cleanup.md +297 -0
- package/.claude/commands/health-deps.md +297 -0
- package/.claude/commands/health-metrics.md +747 -0
- package/.claude/commands/health-security.md +297 -0
- package/.claude/commands/push.md +21 -0
- package/.claude/commands/speckit.analyze.md +184 -0
- package/.claude/commands/speckit.checklist.md +294 -0
- package/.claude/commands/speckit.clarify.md +178 -0
- package/.claude/commands/speckit.constitution.md +78 -0
- package/.claude/commands/speckit.implement.md +182 -0
- package/.claude/commands/speckit.plan.md +87 -0
- package/.claude/commands/speckit.specify.md +250 -0
- package/.claude/commands/speckit.tasks.md +137 -0
- package/.claude/commands/translate-doc.md +95 -0
- package/.claude/commands/worktree-cleanup.md +382 -0
- package/.claude/commands/worktree-create.md +287 -0
- package/.claude/commands/worktree-list.md +239 -0
- package/.claude/commands/worktree-remove.md +339 -0
- package/.claude/schemas/base-plan.schema.json +82 -0
- package/.claude/schemas/bug-plan.schema.json +71 -0
- package/.claude/schemas/dead-code-plan.schema.json +71 -0
- package/.claude/schemas/dependency-plan.schema.json +74 -0
- package/.claude/schemas/security-plan.schema.json +71 -0
- package/.claude/scripts/gates/check-bundle-size.sh +47 -0
- package/.claude/scripts/gates/check-coverage.sh +67 -0
- package/.claude/scripts/gates/check-security.sh +46 -0
- package/.claude/scripts/release.sh +740 -0
- package/.claude/settings.local.json +21 -0
- package/.claude/settings.local.json.example +20 -0
- package/.claude/skills/calculate-priority-score/SKILL.md +229 -0
- package/.claude/skills/calculate-priority-score/scoring-matrix.json +83 -0
- package/.claude/skills/extract-version/SKILL.md +228 -0
- package/.claude/skills/format-commit-message/SKILL.md +189 -0
- package/.claude/skills/format-commit-message/template.md +64 -0
- package/.claude/skills/format-markdown-table/SKILL.md +202 -0
- package/.claude/skills/format-markdown-table/examples.md +84 -0
- package/.claude/skills/format-todo-list/SKILL.md +222 -0
- package/.claude/skills/format-todo-list/template.json +30 -0
- package/.claude/skills/generate-changelog/SKILL.md +258 -0
- package/.claude/skills/generate-changelog/commit-mapping.json +47 -0
- package/.claude/skills/generate-report-header/SKILL.md +228 -0
- package/.claude/skills/generate-report-header/template.md +66 -0
- package/.claude/skills/parse-error-logs/SKILL.md +286 -0
- package/.claude/skills/parse-error-logs/patterns.json +26 -0
- package/.claude/skills/parse-git-status/SKILL.md +164 -0
- package/.claude/skills/parse-package-json/SKILL.md +151 -0
- package/.claude/skills/parse-package-json/schema.json +43 -0
- package/.claude/skills/render-template/SKILL.md +245 -0
- package/.claude/skills/rollback-changes/SKILL.md +582 -0
- package/.claude/skills/rollback-changes/changes-log-schema.json +101 -0
- package/.claude/skills/run-quality-gate/SKILL.md +404 -0
- package/.claude/skills/run-quality-gate/gate-mappings.json +97 -0
- package/.claude/skills/validate-plan-file/SKILL.md +327 -0
- package/.claude/skills/validate-plan-file/schema.json +35 -0
- package/.claude/skills/validate-report-file/SKILL.md +256 -0
- package/.claude/skills/validate-report-file/schema.json +67 -0
- package/.env.example +49 -0
- package/.github/BRANCH_PROTECTION.md +137 -0
- package/.github/workflows/build.yml +70 -0
- package/.github/workflows/claude-code-review.yml +255 -0
- package/.github/workflows/claude.yml +79 -0
- package/.github/workflows/deploy-staging.yml +90 -0
- package/.github/workflows/test.yml +104 -0
- package/.gitignore +116 -0
- package/CLAUDE.md +137 -0
- package/LICENSE +72 -0
- package/README.md +1098 -0
- package/docs/ARCHITECTURE.md +746 -0
- package/docs/Agents Ecosystem/AGENT-ORCHESTRATION.md +568 -0
- package/docs/Agents Ecosystem/AI-AGENT-ECOSYSTEM-README.md +658 -0
- package/docs/Agents Ecosystem/ARCHITECTURE.md +606 -0
- package/docs/Agents Ecosystem/QUALITY-GATES-SPECIFICATION.md +1315 -0
- package/docs/Agents Ecosystem/REPORT-TEMPLATE-STANDARD.md +1324 -0
- package/docs/Agents Ecosystem/spec-kit-comprehensive-updates.md +478 -0
- package/docs/FAQ.md +572 -0
- package/docs/MIGRATION-GUIDE.md +542 -0
- package/docs/PERFORMANCE-OPTIMIZATION.md +494 -0
- package/docs/ROADMAP.md +439 -0
- package/docs/TUTORIAL-CUSTOM-AGENTS.md +2041 -0
- package/docs/USE-CASES.md +706 -0
- package/index.js +96 -0
- package/mcp/.mcp.base.json +21 -0
- package/mcp/.mcp.frontend.json +29 -0
- package/mcp/.mcp.full.json +67 -0
- package/mcp/.mcp.local.example.json +7 -0
- package/mcp/.mcp.local.json +7 -0
- package/mcp/.mcp.n8n.json +45 -0
- package/mcp/.mcp.supabase-full.json +35 -0
- package/mcp/.mcp.supabase-only.json +28 -0
- package/package.json +78 -0
- package/postinstall.js +71 -0
- package/switch-mcp.sh +101 -0
|
@@ -0,0 +1,287 @@
|
|
|
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 в новой директории
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: List all git worktrees with status information
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# List Git Worktrees
|
|
6
|
+
|
|
7
|
+
Показывает список всех git worktrees с подробной информацией.
|
|
8
|
+
|
|
9
|
+
**Что делает команда:**
|
|
10
|
+
- Выводит все активные worktrees
|
|
11
|
+
- Показывает текущие ветки
|
|
12
|
+
- Отображает пути к директориям
|
|
13
|
+
- Указывает статус (main/linked/locked)
|
|
14
|
+
- Показывает последние коммиты
|
|
15
|
+
|
|
16
|
+
**Примеры:**
|
|
17
|
+
```bash
|
|
18
|
+
/worktree-list
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Your Task
|
|
24
|
+
|
|
25
|
+
### Step 1: Получение списка worktrees
|
|
26
|
+
|
|
27
|
+
1. **Получить список worktrees**
|
|
28
|
+
```bash
|
|
29
|
+
git worktree list
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
2. **Получить подробную информацию**
|
|
33
|
+
```bash
|
|
34
|
+
git worktree list --porcelain
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
### Step 2: Анализ worktrees
|
|
40
|
+
|
|
41
|
+
Для каждого worktree извлеки:
|
|
42
|
+
- Путь к директории
|
|
43
|
+
- Название ветки
|
|
44
|
+
- HEAD commit hash
|
|
45
|
+
- Статус (bare/detached/locked/prunable)
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
### Step 3: Форматирование вывода
|
|
50
|
+
|
|
51
|
+
Выведи красиво отформатированную таблицу:
|
|
52
|
+
|
|
53
|
+
```markdown
|
|
54
|
+
# Git Worktrees
|
|
55
|
+
|
|
56
|
+
## Активные worktrees: N
|
|
57
|
+
|
|
58
|
+
| Имя | Ветка | Путь | Статус | Последний коммит |
|
|
59
|
+
|-----|-------|------|--------|------------------|
|
|
60
|
+
| main (основной) | main | /home/me/code/megacampus2 | ✅ Active | abc1234 feat: ... |
|
|
61
|
+
| admin-panel | feature/admin-panel | /home/me/code/megacampus2-worktrees/admin-panel | ✅ Active | def5678 feat: ... |
|
|
62
|
+
| payment-system | feature/payment | /home/me/code/megacampus2-worktrees/payment-system | 🔒 Locked | ghi9012 fix: ... |
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Детали worktrees
|
|
67
|
+
|
|
68
|
+
### 1. main (основной worktree)
|
|
69
|
+
- **Путь:** `/home/me/code/megacampus2`
|
|
70
|
+
- **Ветка:** `main`
|
|
71
|
+
- **HEAD:** `abc1234`
|
|
72
|
+
- **Статус:** Main worktree (не может быть удален)
|
|
73
|
+
- **Последний коммит:**
|
|
74
|
+
```
|
|
75
|
+
abc1234 (HEAD -> main, origin/main) feat: add user authentication
|
|
76
|
+
Author: User Name <email>
|
|
77
|
+
Date: 2025-01-07
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### 2. admin-panel
|
|
81
|
+
- **Путь:** `/home/me/code/megacampus2-worktrees/admin-panel`
|
|
82
|
+
- **Ветка:** `feature/admin-panel`
|
|
83
|
+
- **HEAD:** `def5678`
|
|
84
|
+
- **Статус:** ✅ Active (linked worktree)
|
|
85
|
+
- **Последний коммит:**
|
|
86
|
+
```
|
|
87
|
+
def5678 (HEAD -> feature/admin-panel) feat: add admin dashboard
|
|
88
|
+
Author: User Name <email>
|
|
89
|
+
Date: 2025-01-07
|
|
90
|
+
```
|
|
91
|
+
- **Как открыть:**
|
|
92
|
+
```bash
|
|
93
|
+
cd ../megacampus2-worktrees/admin-panel
|
|
94
|
+
code .
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
[... для каждого worktree ...]
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Статистика
|
|
102
|
+
|
|
103
|
+
- **Всего worktrees:** N
|
|
104
|
+
- **Основной:** 1
|
|
105
|
+
- **Linked worktrees:** N-1
|
|
106
|
+
- **Locked:** 0
|
|
107
|
+
- **Prunable:** 0
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Полезные команды
|
|
112
|
+
|
|
113
|
+
**Переключиться на worktree:**
|
|
114
|
+
```bash
|
|
115
|
+
cd /путь/к/worktree
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Удалить worktree:**
|
|
119
|
+
```bash
|
|
120
|
+
/worktree-remove <feature-name>
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Создать новый worktree:**
|
|
124
|
+
```bash
|
|
125
|
+
/worktree-create <feature-name>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Очистить устаревшие worktrees:**
|
|
129
|
+
```bash
|
|
130
|
+
/worktree-cleanup
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Git команды:**
|
|
134
|
+
```bash
|
|
135
|
+
# Подробная информация
|
|
136
|
+
git worktree list --porcelain
|
|
137
|
+
|
|
138
|
+
# Заблокировать worktree
|
|
139
|
+
git worktree lock /путь/к/worktree --reason "Причина"
|
|
140
|
+
|
|
141
|
+
# Разблокировать worktree
|
|
142
|
+
git worktree unlock /путь/к/worktree
|
|
143
|
+
```
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
### Step 4: Дополнительная информация
|
|
149
|
+
|
|
150
|
+
Если найдены worktrees с проблемами:
|
|
151
|
+
|
|
152
|
+
**Locked worktrees:**
|
|
153
|
+
```markdown
|
|
154
|
+
⚠️ **Заблокированные worktrees:** N
|
|
155
|
+
|
|
156
|
+
- `feature-name` - причина блокировки
|
|
157
|
+
|
|
158
|
+
Разблокировать:
|
|
159
|
+
```bash
|
|
160
|
+
git worktree unlock ../megacampus2-worktrees/feature-name
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**Prunable worktrees:**
|
|
164
|
+
```markdown
|
|
165
|
+
⚠️ **Устаревшие worktrees:** N
|
|
166
|
+
|
|
167
|
+
Эти worktrees были удалены, но административные файлы остались.
|
|
168
|
+
|
|
169
|
+
Очистить:
|
|
170
|
+
```bash
|
|
171
|
+
/worktree-cleanup
|
|
172
|
+
# или
|
|
173
|
+
git worktree prune
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Нет worktrees:**
|
|
177
|
+
```markdown
|
|
178
|
+
# Git Worktrees
|
|
179
|
+
|
|
180
|
+
📭 **Нет дополнительных worktrees**
|
|
181
|
+
|
|
182
|
+
У вас есть только основной worktree:
|
|
183
|
+
- Путь: `/home/me/code/megacampus2`
|
|
184
|
+
- Ветка: `current-branch`
|
|
185
|
+
|
|
186
|
+
**Создать новый worktree:**
|
|
187
|
+
```bash
|
|
188
|
+
/worktree-create <feature-name>
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Примеры:
|
|
192
|
+
```bash
|
|
193
|
+
/worktree-create admin-panel
|
|
194
|
+
/worktree-create payment-system
|
|
195
|
+
/worktree-create user-profile
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**Преимущества worktrees:**
|
|
199
|
+
- Работа над несколькими фичами параллельно
|
|
200
|
+
- Нет необходимости в stash/commit WIP
|
|
201
|
+
- Экономия места (общий .git)
|
|
202
|
+
- Быстрое переключение между задачами
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Обработка ошибок
|
|
208
|
+
|
|
209
|
+
**Если git worktree не доступен:**
|
|
210
|
+
```
|
|
211
|
+
❌ Команда git worktree недоступна
|
|
212
|
+
|
|
213
|
+
Проверьте версию Git:
|
|
214
|
+
```bash
|
|
215
|
+
git --version
|
|
216
|
+
# Требуется Git 2.5+
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Обновите Git, если нужно.
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
**Если нет прав доступа:**
|
|
223
|
+
```
|
|
224
|
+
❌ Нет доступа к worktree директории
|
|
225
|
+
|
|
226
|
+
Проверьте права доступа:
|
|
227
|
+
```bash
|
|
228
|
+
ls -la ../megacampus2-worktrees/
|
|
229
|
+
```
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Примечания
|
|
235
|
+
|
|
236
|
+
- Основной worktree всегда первый в списке
|
|
237
|
+
- Locked worktrees нельзя удалить без unlock
|
|
238
|
+
- Prunable worktrees - это директории, которые были удалены вручную
|
|
239
|
+
- Каждый worktree на своей уникальной ветке
|