Files
headquarter/tool-images
Developer 4c14966ae3 fix: write valid multi-line tmux config in Pi Agent images
The Pi Agent dockerfile templates created ~/.tmux.conf with a literal
\n because the RUN command used single-quoted echo. Tmux never parsed
the malformed line, so mouse mode stayed off. Without tmux mouse mode,
mouse-wheel events in xterm.js fell back to Up/Down arrow keys and
cycled shell command history instead of scrolling the terminal buffer.

- Use printf '%s\n' to write real newlines in .tmux.conf.
- Apply the same fix to the ranger rc.conf where the same bug existed.
- Update tool-images/pi-agent.dockerfile and both affected alembic
  migration dockerfile strings.

Quality gates: npm run typecheck, npm run lint, npm test -- --run (87 passed),
py_compile on changed migrations.

Refs: openspec/changes/fix-tmux-mouse-config
2026-06-14 08:48:39 +00:00
..

Tool Images

This directory contains Dockerfile templates for the base tool types used in Headquarter.

Available Images

File Tool Description
base.dockerfile - Common base with git, nvim, ranger, tmux, node
code-server.dockerfile VS Code Browser-based VS Code with extra tools
jupyter.dockerfile Jupyter Jupyter Lab/Notebook with extra tools
opencode.dockerfile OpenCode OpenCode agent server
pi-agent.dockerfile Pi Agent Pi coding agent with full terminal setup

Usage

When creating a tool type in the Tool Workshop, you can reference these Dockerfiles:

  1. Copy the contents of the desired .dockerfile
  2. Paste into the "Dockerfile Template" field
  3. Set definition_type to dockerfile

Building Locally

To test an image locally:

cd tool-images
docker build -f pi-agent.dockerfile -t pi-agent:latest .
docker run -it pi-agent:latest

Customizing

All images include:

  • git - Version control
  • neovim - Terminal editor
  • ranger - Terminal file manager
  • tmux - Terminal multiplexer
  • htop - Process viewer
  • tree - Directory tree
  • jq - JSON processor
  • Node.js 20 - For npm-based tools

The pi-agent image additionally includes the Pi Coding Agent for AI-assisted development.

Adding New Images

  1. Create a new .dockerfile in this directory
  2. Use base.dockerfile as a starting point if applicable
  3. Document it in the table above
  4. Update the tool type in the database via the Tool Workshop