kanbot-backend / Makefile
LoveLogicAI's picture
Upload folder using huggingface_hub
587a933 verified
Raw History Blame Contribute Delete
3.55 kB
# 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."