Run coding agents (Claude, Codex, and more) in isolated Docker containers with configurable security profiles, multi-project support, and persistent authentication.
git clone https://github.com/WilliamScarbro/skua.git
cd skua
./install.shUse a local directory:
skua add myapp --dir ~/projects/myappOr use a GitHub repo URL:
skua add myapp --repo git@github.com:your-org/myapp.gitEach project gets adapt artifacts and agent-instruction files:
.skua/ADAPT.md.skua/image-request.yamlAGENTS.mdCLAUDE.md
Workflow:
- Run automated image adaptation:
skua adapt myappskua adapt starts the project container, asks the configured agent to update .skua/image-request.yaml, then applies and builds the adapted project image.
skua run myappskua run auto-attaches you to a persistent tmux session in the container. Run:
claudeFirst run may require login:
claude /loginCredentials are persisted, so later runs usually do not require login again.
Detach from tmux and return to your host shell:
- Press
Ctrl-b, thend
Run the same command again to reattach to the same tmux session:
skua run myappIf attached, run exit.
If detached, stop it from the host:
docker stop skua-myapp- Docker (daemon running)
- Python 3 + PyYAML
- git
sudo dpkg -i skua_<version>_all.deb
skua init
skua buildpip install pyyaml
ln -s /path/to/skua/bin/skua ~/.local/bin/skua
skua init
skua build- Quick Start: Installation and first project flow
- CLI Reference: All commands and options
- Configuration Model: YAML resources, environments, validation
- Security Guide: Security profiles, trust model, isolation
| Command | Purpose |
|---|---|
skua init |
First-time setup wizard |
skua build |
Build images required by configured projects |
skua add <name> |
Add a project (--dir or --repo) |
skua adapt <name> |
Run agent-driven image adaptation and build updated project image |
skua run <name> |
Start a container (or attach if already running) |
skua list |
List projects and running status |
skua config |
Show or edit global configuration |
skua validate <name> |
Validate project configuration |
skua describe <name> |
Show resolved configuration as YAML |
skua clean [name] |
Remove saved credentials |
skua remove <name> |
Remove a project (including optional remote cleanup for remote projects) |
skua purge |
Remove all local skua state (config + Docker artifacts) |
For advanced security/environment setup, go to:
docs/security.mddocs/configuration.md
Business Source License 1.1 — see LICENSE.
