Renamed from Boilerplate to CleverClaude
This commit is contained in:
+85
-85
@@ -35,14 +35,14 @@ git clone https://git.cleverthis.com/cleverthis/base/base-python
|
||||
cd base-python
|
||||
|
||||
# Build the development container
|
||||
docker build -f .devcontainer/Dockerfile -t boilerplate-dev .
|
||||
docker build -f .devcontainer/Dockerfile -t cleverclaude-dev .
|
||||
|
||||
# Run the development container
|
||||
docker run -it --rm \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
-w /workspaces/boilerplate \
|
||||
--name boilerplate-dev \
|
||||
boilerplate-dev bash
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-w /workspaces/cleverclaude \
|
||||
--name cleverclaude-dev \
|
||||
cleverclaude-dev bash
|
||||
```
|
||||
|
||||
### 2. Inside the Container
|
||||
@@ -55,7 +55,7 @@ python --version # Python 3.13.x
|
||||
which python # /usr/local/bin/python
|
||||
|
||||
# Virtual environment is auto-activated
|
||||
echo $VIRTUAL_ENV # /workspaces/boilerplate/.venv
|
||||
echo $VIRTUAL_ENV # /workspaces/cleverclaude/.venv
|
||||
|
||||
# Check tools are installed
|
||||
ruff --version # Linting and formatting
|
||||
@@ -70,7 +70,7 @@ nox -s format # Format code
|
||||
nox -s typecheck # Type checking
|
||||
|
||||
# Test the CLI
|
||||
python -m boilerplate --name "DevContainer" --count 2
|
||||
python -m cleverclaude --name "DevContainer" --count 2
|
||||
```
|
||||
|
||||
### 3. Available Shell Aliases
|
||||
@@ -88,7 +88,7 @@ dev-all # nox (run all checks)
|
||||
|
||||
# Docker shortcuts
|
||||
d # docker
|
||||
build-docker # docker build -t boilerplate:dev .
|
||||
build-docker # docker build -t cleverclaude:dev .
|
||||
|
||||
# Git shortcuts
|
||||
gs # git status
|
||||
@@ -110,15 +110,15 @@ For ongoing development with persistent changes:
|
||||
```bash
|
||||
# Create a named container for persistence
|
||||
docker run -it \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
-v boilerplate-venv:/workspaces/boilerplate/.venv \
|
||||
-v boilerplate-cache:/tmp/uv-cache \
|
||||
-w /workspaces/boilerplate \
|
||||
--name boilerplate-dev-persistent \
|
||||
boilerplate-dev bash
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-v cleverclaude-venv:/workspaces/cleverclaude/.venv \
|
||||
-v cleverclaude-cache:/tmp/uv-cache \
|
||||
-w /workspaces/cleverclaude \
|
||||
--name cleverclaude-dev-persistent \
|
||||
cleverclaude-dev bash
|
||||
|
||||
# Later, restart the same container
|
||||
docker start -ai boilerplate-dev-persistent
|
||||
docker start -ai cleverclaude-dev-persistent
|
||||
```
|
||||
|
||||
## IDE Integration
|
||||
@@ -129,14 +129,14 @@ Connect to your running container from Emacs:
|
||||
|
||||
```bash
|
||||
# 1. Start container with SSH (add to Dockerfile if needed)
|
||||
docker run -it --name boilerplate-dev \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
docker run -it --name cleverclaude-dev \
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-p 2222:22 \
|
||||
boilerplate-dev
|
||||
cleverclaude-dev
|
||||
|
||||
# 2. In Emacs, connect via TRAMP
|
||||
# M-x find-file
|
||||
# /docker:boilerplate-dev:/workspaces/boilerplate/
|
||||
# /docker:cleverclaude-dev:/workspaces/cleverclaude/
|
||||
```
|
||||
|
||||
**Emacs Configuration:**
|
||||
@@ -163,30 +163,30 @@ docker run -it --name boilerplate-dev \
|
||||
```bash
|
||||
# Run container with vim pre-installed
|
||||
docker run -it --rm \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
-w /workspaces/boilerplate \
|
||||
boilerplate-dev vim
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-w /workspaces/cleverclaude \
|
||||
cleverclaude-dev vim
|
||||
|
||||
# Or use neovim if installed
|
||||
docker run -it --rm \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
-w /workspaces/boilerplate \
|
||||
boilerplate-dev nvim
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-w /workspaces/cleverclaude \
|
||||
cleverclaude-dev nvim
|
||||
```
|
||||
|
||||
#### Option 2: Host Vim with Container Tools
|
||||
|
||||
```bash
|
||||
# 1. Start container as daemon
|
||||
docker run -d --name boilerplate-tools \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
-w /workspaces/boilerplate \
|
||||
boilerplate-dev tail -f /dev/null
|
||||
docker run -d --name cleverclaude-tools \
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-w /workspaces/cleverclaude \
|
||||
cleverclaude-dev tail -f /dev/null
|
||||
|
||||
# 2. Create wrapper scripts
|
||||
cat > vim-ruff << 'EOF'
|
||||
#!/bin/bash
|
||||
docker exec boilerplate-tools ruff "$@"
|
||||
docker exec cleverclaude-tools ruff "$@"
|
||||
EOF
|
||||
chmod +x vim-ruff
|
||||
|
||||
@@ -197,7 +197,7 @@ chmod +x vim-ruff
|
||||
```vim
|
||||
" .vimrc or init.vim
|
||||
" Python development setup
|
||||
let g:python3_host_prog = 'docker exec boilerplate-tools python'
|
||||
let g:python3_host_prog = 'docker exec cleverclaude-tools python'
|
||||
|
||||
" Use container tools for linting
|
||||
let g:ale_linters = {
|
||||
@@ -217,10 +217,10 @@ let g:ale_fixers = {
|
||||
|
||||
```bash
|
||||
# 1. Start container
|
||||
docker run -it --name boilerplate-dev \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
-w /workspaces/boilerplate \
|
||||
boilerplate-dev bash
|
||||
docker run -it --name cleverclaude-dev \
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-w /workspaces/cleverclaude \
|
||||
cleverclaude-dev bash
|
||||
|
||||
# 2. Open VS Code and connect to terminal
|
||||
# Terminal → New Terminal
|
||||
@@ -254,15 +254,15 @@ The `.devcontainer/devcontainer.json` is pre-configured with:
|
||||
|
||||
```bash
|
||||
# 1. Start container as daemon
|
||||
docker run -d --name boilerplate-pycharm \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
docker run -d --name cleverclaude-pycharm \
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-p 2222:22 \
|
||||
boilerplate-dev
|
||||
cleverclaude-dev
|
||||
|
||||
# 2. Configure PyCharm remote interpreter
|
||||
# File → Settings → Project → Python Interpreter
|
||||
# Add Interpreter → Docker → Existing container
|
||||
# Container: boilerplate-pycharm
|
||||
# Container: cleverclaude-pycharm
|
||||
# Python path: /usr/local/bin/python
|
||||
```
|
||||
|
||||
@@ -277,16 +277,16 @@ services:
|
||||
context: .
|
||||
dockerfile: .devcontainer/Dockerfile
|
||||
volumes:
|
||||
- .:/workspaces/boilerplate
|
||||
- boilerplate-venv:/workspaces/boilerplate/.venv
|
||||
working_dir: /workspaces/boilerplate
|
||||
- .:/workspaces/cleverclaude
|
||||
- cleverclaude-venv:/workspaces/cleverclaude/.venv
|
||||
working_dir: /workspaces/cleverclaude
|
||||
command: tail -f /dev/null
|
||||
ports:
|
||||
- "8000:8000"
|
||||
- "3000:3000"
|
||||
|
||||
volumes:
|
||||
boilerplate-venv:
|
||||
cleverclaude-venv:
|
||||
```
|
||||
|
||||
```bash
|
||||
@@ -314,7 +314,7 @@ docker-compose -f docker-compose.dev.yml up -d
|
||||
python --version # Python 3.13.x
|
||||
pip --version # uv-powered pip replacement
|
||||
which python # /usr/local/bin/python
|
||||
echo $PYTHONPATH # /workspaces/boilerplate/src
|
||||
echo $PYTHONPATH # /workspaces/cleverclaude/src
|
||||
```
|
||||
|
||||
### 🛠️ **Development Tools**
|
||||
@@ -352,12 +352,12 @@ Forward ports from container to host:
|
||||
```bash
|
||||
# Forward development server ports
|
||||
docker run -it --rm \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
-w /workspaces/boilerplate \
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-w /workspaces/cleverclaude \
|
||||
-p 8000:8000 \
|
||||
-p 3000:3000 \
|
||||
-p 8080:8080 \
|
||||
boilerplate-dev bash
|
||||
cleverclaude-dev bash
|
||||
|
||||
# Now you can access:
|
||||
# http://localhost:8000 - Application server
|
||||
@@ -372,12 +372,12 @@ For better performance, especially on macOS/Windows:
|
||||
```bash
|
||||
# Use named volumes for dependencies
|
||||
docker run -it --rm \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
-v boilerplate-venv:/workspaces/boilerplate/.venv \
|
||||
-v boilerplate-cache:/tmp/uv-cache \
|
||||
-v boilerplate-node-modules:/workspaces/boilerplate/node_modules \
|
||||
-w /workspaces/boilerplate \
|
||||
boilerplate-dev bash
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-v cleverclaude-venv:/workspaces/cleverclaude/.venv \
|
||||
-v cleverclaude-cache:/tmp/uv-cache \
|
||||
-v cleverclaude-node-modules:/workspaces/cleverclaude/node_modules \
|
||||
-w /workspaces/cleverclaude \
|
||||
cleverclaude-dev bash
|
||||
```
|
||||
|
||||
### Custom Configuration
|
||||
@@ -387,18 +387,18 @@ Mount custom configuration files:
|
||||
```bash
|
||||
# Mount custom git config
|
||||
docker run -it --rm \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-v ~/.gitconfig:/home/vscode/.gitconfig:ro \
|
||||
-v ~/.ssh:/home/vscode/.ssh:ro \
|
||||
-w /workspaces/boilerplate \
|
||||
boilerplate-dev bash
|
||||
-w /workspaces/cleverclaude \
|
||||
cleverclaude-dev bash
|
||||
|
||||
# Mount custom shell config
|
||||
docker run -it --rm \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-v ~/.zshrc:/home/vscode/.zshrc.local:ro \
|
||||
-w /workspaces/boilerplate \
|
||||
boilerplate-dev bash
|
||||
-w /workspaces/cleverclaude \
|
||||
cleverclaude-dev bash
|
||||
```
|
||||
|
||||
### Development Workflow
|
||||
@@ -406,17 +406,17 @@ docker run -it --rm \
|
||||
```bash
|
||||
# 1. Start development container
|
||||
docker run -it --name dev-session \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
-v boilerplate-venv:/workspaces/boilerplate/.venv \
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-v cleverclaude-venv:/workspaces/cleverclaude/.venv \
|
||||
-p 3000:3000 \
|
||||
-w /workspaces/boilerplate \
|
||||
boilerplate-dev bash
|
||||
-w /workspaces/cleverclaude \
|
||||
cleverclaude-dev bash
|
||||
|
||||
# 2. Inside container - start documentation server
|
||||
nox -s serve_docs & # Runs in background
|
||||
|
||||
# 3. Make changes to code
|
||||
vim src/boilerplate/cli.py
|
||||
vim src/cleverclaude/cli.py
|
||||
|
||||
# 4. Run tests
|
||||
dev-test # Quick BDD tests
|
||||
@@ -449,7 +449,7 @@ For cloud-based development without local Docker:
|
||||
# Inside Codespace, same commands work:
|
||||
nox -s behave # Run tests
|
||||
dev-all # Run all checks
|
||||
python -m boilerplate --help
|
||||
python -m cleverclaude --help
|
||||
```
|
||||
|
||||
**Codespace Features:**
|
||||
@@ -472,7 +472,7 @@ docker ps
|
||||
docker system prune -f
|
||||
|
||||
# Rebuild container
|
||||
docker build -f .devcontainer/Dockerfile -t boilerplate-dev . --no-cache
|
||||
docker build -f .devcontainer/Dockerfile -t cleverclaude-dev . --no-cache
|
||||
```
|
||||
|
||||
### Permission Issues
|
||||
@@ -481,9 +481,9 @@ docker build -f .devcontainer/Dockerfile -t boilerplate-dev . --no-cache
|
||||
# Run as your user ID
|
||||
docker run -it --rm \
|
||||
-u $(id -u):$(id -g) \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
-w /workspaces/boilerplate \
|
||||
boilerplate-dev bash
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-w /workspaces/cleverclaude \
|
||||
cleverclaude-dev bash
|
||||
|
||||
# Or fix permissions after
|
||||
sudo chown -R $(id -u):$(id -g) .
|
||||
@@ -493,16 +493,16 @@ sudo chown -R $(id -u):$(id -g) .
|
||||
|
||||
```bash
|
||||
# Check if tools are installed
|
||||
docker run --rm boilerplate-dev which ruff pyright behave nox
|
||||
docker run --rm cleverclaude-dev which ruff pyright behave nox
|
||||
|
||||
# Check PATH
|
||||
docker run --rm boilerplate-dev echo $PATH
|
||||
docker run --rm cleverclaude-dev echo $PATH
|
||||
|
||||
# Reinstall dependencies
|
||||
docker run -it --rm \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
-w /workspaces/boilerplate \
|
||||
boilerplate-dev bash -c "uv pip install -e .[dev]"
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-w /workspaces/cleverclaude \
|
||||
cleverclaude-dev bash -c "uv pip install -e .[dev]"
|
||||
```
|
||||
|
||||
### Performance Issues
|
||||
@@ -514,10 +514,10 @@ docker run -it --rm \
|
||||
|
||||
# Use volumes for better performance
|
||||
docker run -it --rm \
|
||||
-v $(pwd):/workspaces/boilerplate \
|
||||
-v boilerplate-cache:/tmp/uv-cache \
|
||||
-w /workspaces/boilerplate \
|
||||
boilerplate-dev bash
|
||||
-v $(pwd):/workspaces/cleverclaude \
|
||||
-v cleverclaude-cache:/tmp/uv-cache \
|
||||
-w /workspaces/cleverclaude \
|
||||
cleverclaude-dev bash
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
@@ -525,10 +525,10 @@ docker run -it --rm \
|
||||
### 🔄 **Container Lifecycle**
|
||||
```bash
|
||||
# For short tasks - use --rm
|
||||
docker run --rm boilerplate-dev nox -s lint
|
||||
docker run --rm cleverclaude-dev nox -s lint
|
||||
|
||||
# For development sessions - use named containers
|
||||
docker run --name dev-session boilerplate-dev bash
|
||||
docker run --name dev-session cleverclaude-dev bash
|
||||
docker start -ai dev-session # Resume later
|
||||
```
|
||||
|
||||
@@ -541,7 +541,7 @@ docker volume ls
|
||||
docker volume prune
|
||||
|
||||
# Backup important data
|
||||
docker run --rm -v boilerplate-venv:/data -v $(pwd):/backup \
|
||||
docker run --rm -v cleverclaude-venv:/data -v $(pwd):/backup \
|
||||
alpine tar czf /backup/venv-backup.tar.gz -C /data .
|
||||
```
|
||||
|
||||
@@ -549,20 +549,20 @@ docker run --rm -v boilerplate-venv:/data -v $(pwd):/backup \
|
||||
```bash
|
||||
# Don't store secrets in container images
|
||||
# Use environment variables or mounted secrets
|
||||
docker run -e SECRET_KEY="$SECRET_KEY" boilerplate-dev
|
||||
docker run -e SECRET_KEY="$SECRET_KEY" cleverclaude-dev
|
||||
|
||||
# Use read-only mounts when possible
|
||||
docker run -v $(pwd):/workspace:ro boilerplate-dev
|
||||
docker run -v $(pwd):/workspace:ro cleverclaude-dev
|
||||
```
|
||||
|
||||
### ⚡ **Performance**
|
||||
```bash
|
||||
# Use named volumes for dependencies
|
||||
-v boilerplate-venv:/workspaces/boilerplate/.venv
|
||||
-v cleverclaude-venv:/workspaces/cleverclaude/.venv
|
||||
|
||||
# Enable BuildKit for faster builds
|
||||
export DOCKER_BUILDKIT=1
|
||||
docker build -f .devcontainer/Dockerfile -t boilerplate-dev .
|
||||
docker build -f .devcontainer/Dockerfile -t cleverclaude-dev .
|
||||
|
||||
# Use multi-stage builds for smaller images (already configured)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user