Based on claude-code-tools TmuxCLIController, this refactor: - Added DockerTmuxController class for robust tmux session management - Implements send_keys() with configurable delay_enter - Implements capture_pane() for output retrieval - Implements wait_for_prompt() for pattern-based completion detection - Implements wait_for_idle() for content-hash-based idle detection - Implements wait_for_shell_prompt() for shell prompt detection Also includes workflow improvements: - Pre-task git snapshot before agent execution - Post-task commit protocol in agent guidelines Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
42 lines
680 B
Docker
42 lines
680 B
Docker
# Luzia Sandbox - Lightweight agent execution environment
|
|
# Agents execute inside this container as project users
|
|
|
|
FROM alpine:3.19
|
|
|
|
# Install common tools agents need
|
|
RUN apk add --no-cache \
|
|
bash \
|
|
git \
|
|
curl \
|
|
wget \
|
|
jq \
|
|
grep \
|
|
sed \
|
|
gawk \
|
|
findutils \
|
|
coreutils \
|
|
diffutils \
|
|
patch \
|
|
openssh-client \
|
|
nodejs \
|
|
npm \
|
|
python3 \
|
|
py3-pip \
|
|
make \
|
|
gcc \
|
|
g++ \
|
|
musl-dev
|
|
|
|
# Install common Node.js tools
|
|
RUN npm install -g \
|
|
typescript \
|
|
ts-node \
|
|
prettier \
|
|
eslint
|
|
|
|
# Set workspace
|
|
WORKDIR /workspace
|
|
|
|
# Keep container alive for docker exec commands
|
|
CMD ["tail", "-f", "/dev/null"]
|