| name | kool-cli |
| description | Docker development environment CLI. Use for managing containers (start/stop/restart), executing commands in services, viewing logs, and running project scripts from kool.yml. |
Kool CLI
Kool simplifies Docker-based development with commands for container lifecycle, service execution, and custom scripts.
Quick Reference
kool start
kool stop
kool restart --rebuild
kool status
kool exec <service> <cmd>
kool logs -f <service>
kool run --json
kool run <script>
Service Lifecycle
Services are defined in docker-compose.yml. Kool wraps docker-compose with simpler commands.
kool start
kool start app database
kool start --rebuild
kool start --foreground
kool start --profile worker
kool stop
kool stop app
kool stop --purge
kool restart
kool restart --rebuild
kool restart --purge
kool status
Executing Commands in Containers
Use exec to run commands inside running service containers (like SSH).
kool exec <service> <command>
kool exec app bash
kool exec app php artisan migrate
kool exec app npm install
kool exec -e VAR=value app env
One-off Docker Containers
Use docker to run commands in temporary containers (not services).
kool docker <image> <command>
kool docker node npm init
kool docker --volume=$PWD:/app golang go build
kool docker --env=DEBUG=1 python python script.py
kool docker --publish=3000:3000 node npm start
Viewing Logs
kool logs
kool logs app
kool logs -f
kool logs -f app worker
kool logs --tail 100
kool logs --tail 0
Project Scripts
Scripts are defined in kool.yml and provide project-specific commands.
kool run --json
kool run
kool run <script>
kool run <script> -- <args>
kool run -e VAR=1 <script>
Global Options
All commands support:
-w, --working_dir <path>
--verbose
Important Rules
- ALWAYS run from project root (has
docker-compose.yml and kool.yml) or use -w.
- Service names come from
docker-compose.yml service definitions.
- Script args only work with single-line scripts; multi-line scripts reject extra args.
- Scripts in
kool.yml are not full bash - use kool docker <image> bash -c "..." for pipes/conditionals.