chore: update claude code ddev installation

This commit is contained in:
Björn Fromme committed 2026-01-12 20:01:34 +01:00
1 parent 078f71e403
commit eee85320c2
9 files changed
+69 -34

No files matched your search

@@ -1,12 +0,0 @@
name: claude-code
repository: /Users/fromme/Development/Misc/ddev-claude-code
version: ""
install_date: "2026-01-07T12:08:23+01:00"
project_files:
- web-build/Dockerfile.claude-code
- commands/web/claude
- config.claude-code.yaml
- claude-code/.claude.json
- claude-code/.gitignore
global_files: []
removal_actions: []
+11
View File
@@ -0,0 +1,11 @@
name: claude
repository: /Users/fromme/Development/Misc/ddev-claude-code
version: ""
install_date: "2026-01-12T20:01:02+01:00"
project_files:
- commands/web/claude
- config.claude.yaml
- docker-compose.claude.yaml
- claude/.gitignore
global_files: []
removal_actions: []
-4
View File
@@ -1,4 +0,0 @@
#ddev-generated
# Claude Code internal config
.claude.json
.claude/
+5
View File
@@ -0,0 +1,5 @@
# Auth tokens - do not commit
.claude.json
# Claude data directory
.claude/
+15 -6
View File
@@ -1,10 +1,19 @@
#ddev-generated
#!/bin/bash
## Description: Claude Code!
## Usage: claude
## Example: ddev claude [...]
## Description: Run Claude Code
## Usage: claude [args]
## Example: ddev claude
## Example: ddev claude --help
## Example: ddev claude doctor
set -e
# Ensure ~/.local/bin is in PATH
export PATH="$HOME/.local/bin:$PATH"
claude $@
# Check if claude is installed
if [ ! -f "$HOME/.local/bin/claude" ]; then
echo "Claude Code is not installed. Installing now..."
curl -fsSL https://claude.ai/install.sh | bash
fi
# Run claude with all arguments
exec "$HOME/.local/bin/claude" "$@"
-9
View File
@@ -1,9 +0,0 @@
#ddev-generated
hooks:
post-start:
- exec: ">> /var/www/html/.ddev/claude-code/.claude.json && ln -s /var/www/html/.ddev/claude-code/.claude.json ~/.claude.json"
- exec: "mkdir -p /var/www/html/.ddev/claude-code/.claude && ln -s /var/www/html/.ddev/claude-code/.claude ~/.claude"
webimage_extra_packages:
- xdg-utils
+26
View File
@@ -0,0 +1,26 @@
#ddev-generated
# Claude Code add-on configuration
# This file is merged with your project's .ddev/config.yaml
hooks:
post-start:
# Fix volume permissions for binaries
- exec: "sudo chown -R $(id -u):$(id -g) /mnt/claude-binaries"
- exec: "mkdir -p /mnt/claude-binaries/local-bin /mnt/claude-binaries/local-share"
# Create config directories if needed
- exec: "mkdir -p /mnt/claude-config/.claude"
- exec: "test -s /mnt/claude-config/.claude.json || echo '{}' > /mnt/claude-config/.claude.json"
# Copy global CLAUDE.md and skills from homeadditions (if they exist)
- exec: "test -f ~/.claude-global/CLAUDE.md && cp -n ~/.claude-global/CLAUDE.md /mnt/claude-config/.claude/ || true"
- exec: "test -d ~/.claude-global/skills && cp -rn ~/.claude-global/skills /mnt/claude-config/.claude/ || true"
# Remove existing dirs/files and create symlinks
- exec: "rm -rf ~/.claude && ln -sfn /mnt/claude-config/.claude ~/.claude"
- exec: "rm -f ~/.claude.json && ln -sfn /mnt/claude-config/.claude.json ~/.claude.json"
# Symlink ~/.local/bin to volume (for claude binary)
- exec: "mkdir -p ~/.local && rm -rf ~/.local/bin && ln -sfn /mnt/claude-binaries/local-bin ~/.local/bin"
# Symlink ~/.local/share to volume (for claude versions)
- exec: "rm -rf ~/.local/share && ln -sfn /mnt/claude-binaries/local-share ~/.local/share"
# Set up PATH
- exec: "mkdir -p ~/.bashrc.d && echo 'export PATH=\"$HOME/.local/bin:$PATH\"' > ~/.bashrc.d/claude.sh"
# Install Claude Code if not already installed
- exec: "ls /mnt/claude-binaries/local-share/claude/versions/* >/dev/null 2>&1 || curl -fsSL https://claude.ai/install.sh | bash"
+12
View File
@@ -0,0 +1,12 @@
#ddev-generated
# Mount a named Docker volume for Claude Code binaries (isolated)
# Config files are stored in .ddev/claude/ (host-accessible)
services:
web:
volumes:
- claude-binaries:/mnt/claude-binaries
- ./claude:/mnt/claude-config
volumes:
claude-binaries:
-3
View File
@@ -1,3 +0,0 @@
#ddev-generated
RUN npm install -g @anthropic-ai/claude-code