name: ddev-claude-cli project_files: - config.claude-cli.yaml - commands/web/claude - commands/web/claude-swap - commands/web/claude-refs - commands/host/claude-browser - claude-code/install.sh - claude-code/install-swap.sh - claude-code/refs-sync.sh - claude-code/git-exclude.sh - claude-code/browser-setup.sh - claude-code/browser/docker-compose.claude-browser.yaml post_install_actions: - | #ddev-description: Make Claude CLI scripts executable set -eu chmod +x commands/web/claude commands/web/claude-swap commands/web/claude-refs commands/host/claude-browser claude-code/install.sh claude-code/install-swap.sh claude-code/refs-sync.sh claude-code/git-exclude.sh claude-code/browser-setup.sh - | #ddev-description: Clean up after ddev-codex-claude-cli, this add-on's former name # Files are removed only while still marked #ddev-generated. .ddev/claude-code/ is shared # with the old add-on and kept as is; .ddev/codex-cli/ (Codex auth and config) is kept too. for f in config.codex-claude.yaml commands/web/codex codex-cli/install.sh; do if [ -f "$f" ] && grep -q '#ddev-generated' "$f"; then rm -f "$f"; fi done # Forget the old add-on, so it is not listed twice and nobody runs its removal # actions, which would delete .ddev/claude-code/. rm -rf addon-metadata/ddev-codex-claude-cli removal_actions: - | #ddev-description: Remove Claude CLI add-on artifacts rm -f config.claude-cli.yaml commands/web/claude commands/web/claude-swap commands/web/claude-refs commands/host/claude-browser docker-compose.claude-browser.yaml 2>/dev/null || true rm -rf claude-code 2>/dev/null || true ddev_version_constraint: ">= v1.24.3"