chore: replace opencode with claude code inside ddev container
This commit is contained in:
@@ -0,0 +1,11 @@
|
|||||||
|
name: claude
|
||||||
|
repository: /Users/fromme/Development/Misc/ddev-claude-code
|
||||||
|
version: ""
|
||||||
|
install_date: "2026-01-13T12:52:26+01:00"
|
||||||
|
project_files:
|
||||||
|
- commands/web/claude
|
||||||
|
- config.claude.yaml
|
||||||
|
- docker-compose.claude.yaml
|
||||||
|
- claude/.gitignore
|
||||||
|
global_files: []
|
||||||
|
removal_actions: []
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
name: opencode
|
|
||||||
repository: /Users/fromme/Development/Misc/ddev-opencode
|
|
||||||
version: ""
|
|
||||||
install_date: "2026-01-05T16:57:43+01:00"
|
|
||||||
project_files:
|
|
||||||
- web-build/Dockerfile.opencode
|
|
||||||
- commands/web/opencode
|
|
||||||
- config.opencode.yaml
|
|
||||||
- opencode/.gitignore
|
|
||||||
global_files: []
|
|
||||||
removal_actions: []
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# Auth tokens - do not commit
|
||||||
|
.claude.json
|
||||||
|
|
||||||
|
# Claude data directory
|
||||||
|
.claude/
|
||||||
Executable
+19
@@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
## Description: Run Claude Code
|
||||||
|
## Usage: claude [args]
|
||||||
|
## Example: ddev claude
|
||||||
|
## Example: ddev claude --help
|
||||||
|
## Example: ddev claude doctor
|
||||||
|
|
||||||
|
# Ensure ~/.local/bin is in PATH
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
|
||||||
|
# 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" "$@"
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#ddev-generated
|
|
||||||
|
|
||||||
## Description: OpenCode AI coding assistant
|
|
||||||
## Usage: opencode
|
|
||||||
## Example: ddev opencode [...]
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
opencode $@
|
|
||||||
|
|
||||||
@@ -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"
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#ddev-generated
|
|
||||||
webimage_extra_packages:
|
|
||||||
- xdg-utils
|
|
||||||
hooks:
|
|
||||||
post-start:
|
|
||||||
- exec: "mkdir -p /var/www/html/.ddev/opencode/.opencode && ln -sf /var/www/html/.ddev/opencode/.opencode ~/.opencode"
|
|
||||||
@@ -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:
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#ddev-generated
|
|
||||||
|
|
||||||
# OpenCode internal config
|
|
||||||
/.opencode/
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#ddev-generated
|
|
||||||
|
|
||||||
RUN npm install -g opencode-ai
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user