Перейти до змісту

Codex Desktop та Claude Code

Використайте agent-led setup, щоб налаштувати весь workflow. Встановлені templates є project-scoped; агент об’єднає їх зі збереженням сторонніх settings.

Спочатку встановіть add-on і перегляньте конфіг проєкту. Для автоматичного DDEV cleanup явно ввімкніть:

cleanup:
  orphan_detection: true
  auto_delete: true

Звичайна сесія в main не створює додаткового середовища. Для fresh seed потрібні доступний Docker і source DDEV. Watcher не використовується.

Codex Desktop

Створіть у Codex Local environment і задайте scripts:

Setup

bash /absolute/path/to/main/.ddev/worktree-kit/codex-setup.sh

Cleanup

bash /absolute/path/to/main/.ddev/worktree-kit/codex-cleanup.sh

Підставте шлях свого комп’ютера. Для спільного committed config у repository є переносимі recipes setup і cleanup, які шукають fallback у main зі стандартним .git layout.

Виберіть це середовище для нової Worktree сесії. Codex створює Git checkout і передає абсолютний CODEX_WORKTREE_PATH; callbacks перевіряють repository та target навіть за cwd=main. Cleanup видаляє DDEV і його БД перед тим, як Codex прибере checkout. За auto_delete: false DDEV deletion пропускається.

Агент може створити .codex/environments/environment.toml зі встановленого version-1 template або об’єднати наявне середовище. Перевірений export має [setup] script та [cleanup] script; збережіть інші actions і platform overrides. Абсолютний callback path працює також на гілках, де add-on ще немає.

Claude Code

Об’єднайте template hooks з .claude/settings.json, зберігаючи інші settings і hooks. Використовуйте тільки одного WorktreeCreate provider. Для локального налаштування потрібні три commands:

Event Command Timeout
WorktreeCreate bash /absolute/path/to/main/.ddev/worktree-kit/claude-worktree-create.sh 600s
WorktreeRemove bash /absolute/path/to/main/.ddev/worktree-kit/claude-worktree-remove.sh 600s
SessionStart, matcher startup|resume bash /absolute/path/to/main/.ddev/worktree-kit/claude-session-start.sh 600s

Після зміни hooks перезапустіть Claude. Створіть worktree штатним способом, наприклад claude --worktree feature-name.

WorktreeCreate підміняє вбудоване Git creation Claude. Наш adapter створює <main>/.claude/worktrees/<name> на worktree-<name>, ініціалізує DDEV і після успіху повертає тільки абсолютний path. Існуюча branch використовується без reset; чужий checkout за цим path відхиляється. На старих гілках adapter переносить лише власні hook handlers у local Claude settings.

WorktreeRemove спочатку прибирає власний DDEV, потім force-removes точний власний checkout. Це виконує рішення Claude відкинути його, тому незакомічені зміни checkout можуть бути втрачені. Branches та shared source uploads зберігаються. Nested Git checkout, locked/moved worktree, ownership mismatch і cleanup failure блокують видалення checkout. Якщо automatic DDEV deletion вимкнений, checkout видаляється, а DDEV залишається для ручного GC.

SessionStart дає idempotent setup/resume. SessionEnd не використовується: завершення сесії не означає видалення worktree. Custom WorktreeCreate не обробляє .worktreeinclude автоматично; потрібні local text settings задайте через local_files.

Контракти: Claude WorktreeCreate, WorktreeRemove, Codex local environments.