# KanBot v0 — one-command bootstrap. .PHONY: help up down venv install test qa db seed conductor reaper telegram web tui tui-demo bootstrap logs clean help: @echo "make up - start fresh local Postgres (schema auto-applies)" @echo "make install - create venv + install deps" @echo "make test - run the suite (QA cycle skips without a healthy kanbot-db)" @echo "make qa - pytest, Go cockpit tests, and the sandbox wall" @echo "make seed - seed the board with KanBot's own remaining faces" @echo "make conductor - run the Conductor daemon (the scheduler)" @echo "make reaper - run the reaper loop (self-healing)" @echo "make telegram - run the Telegram bot" @echo "make web - run the live web board (http://localhost:8800)" @echo "make tui - terminal Kanban: interactive board (TTY) or agent JSONL (piped)" @echo "make tui-demo - terminal Kanban with seeded data (no DB needed)" @echo "make cli - show the kanbot CLI help" @echo "make doctor - preflight the active provider + DB config" @echo "make providers - list LLM providers + which is active" @echo "make install-cli - pip install -e . so 'kanbot' is on PATH" @echo "make cockpit-demo - KanBot cockpit, seeded board, no infra" @echo "make cockpit - KanBot cockpit: live board, owns conductor and reaper" @echo "make cockpit-build - build the Go cockpit -> bin/kanbot-cockpit" @echo "make bootstrap - up + install + test + seed (do this first)" @echo "make down - stop Postgres (keeps data)" @echo "make clean - stop + wipe the DB volume" up: docker compose up -d db @echo "waiting for db..." && sleep 4 down: docker compose down clean: docker compose down -v venv: test -d .venv || python3 -m venv .venv install: venv . .venv/bin/activate && pip install -q -r requirements.txt @echo "installed. activate with: . .venv/bin/activate" test: . .venv/bin/activate && pytest -q qa: test cd tui-go && go test ./... . .venv/bin/activate && python cli/prove_sandbox.py seed: . .venv/bin/activate && python cli/seed.py conductor: . .venv/bin/activate && python -m core.conductor reaper: . .venv/bin/activate && python -m core.reaper telegram: . .venv/bin/activate && python -m core.telegram web: . .venv/bin/activate && python -m web.server tui: . .venv/bin/activate && python -m cli.tui # live board: interactive if TTY, agent line-protocol if piped tui-demo: python3 -m cli.tui --demo # seeded board, no DB/venv needed cli: . .venv/bin/activate && python -m cli.kanbot_cli --help doctor: . .venv/bin/activate && python -m cli.kanbot_cli doctor providers: . .venv/bin/activate && python -m cli.kanbot_cli providers install-cli: venv . .venv/bin/activate && pip install -q -e . # `kanbot` entrypoint on PATH (pipx-friendly) # --- Charmbracelet Bubble Tea cockpit (Go). Lives in tui-go/, talks JSONL. --- cockpit-demo: cd tui-go && go run . --demo # seeded charms, no infra cockpit: cd tui-go && go run . # production board, live execution through the sandbox cockpit-build: cd tui-go && go build -o ../bin/kanbot-cockpit . && echo "built -> bin/kanbot-cockpit" logs: docker compose logs -f db bootstrap: up install test seed @echo "" @echo "KanBot is up. Open the board with:" @echo " make cockpit # one terminal owns conductor and reaper" @echo "" @echo "DRY-RUN defaults ON in .env.example. Executors propose until KANBOT_DRY_RUN=0."