indifferentketchup 02063072ab chore: add ion package, codesight wiki, work plans, ascli config
New @boocode/ion package (v0.0.1) for inference optimization network.
.codesight/ wiki artifacts for codebase documentation.
.omo/ work plans for openspec cleanup and enhanced file panel.
2026-06-07 22:16:45 +00:00
2026-05-14 19:24:50 +00:00

boocode

Self-hosted single-user developer chat app. 3-app monorepo: BooChat (read-only chat), BooCoder (write tools + agent dispatch), BooTerm (PTY terminals) — plus the in-app Orchestrator, a deterministic multi-agent conductor that runs read-only Han analysis/review flows on local Qwen.

Latest release: v2.7.17-orchestrator (2026-06-03) · CHANGELOG.md · Current focus: CURRENT.md

Architecture: docs/ARCHITECTURE.md · Engineering reference: CLAUDE.md · Roadmap: boocode_roadmap.md

Stack

  • Node 20, Fastify, postgres (porsager/postgres), ws, zod
  • React 18, Vite, TypeScript, Tailwind v4, shadcn/ui
  • Postgres 16
  • pnpm workspaces

Layout

  • apps/server — Fastify API + WebSocket + inference loop + file-read tools
  • apps/web — React frontend; served by Fastify in production, Vite in dev
  • apps/booterm — Fastify + node-pty + tmux for in-browser terminal panes
  • apps/coder — Fastify write tools + ACP/PTY dispatcher + MCP server (BooCoder)

Local dev

Requires Node 20, pnpm, Docker (for Postgres), and ripgrep.

# install
pnpm install

# bring up postgres only
cp .env.example .env
# edit POSTGRES_PASSWORD if you like; default DATABASE_URL points at the container
docker compose up -d boocode_db

# run server (port 3000) and web (port 5173) in two shells
DATABASE_URL=postgres://boocode:devpass@127.0.0.1:5500/boochat \
LLAMA_SWAP_URL=http://100.101.41.16:8401 \
pnpm dev:server

pnpm dev:web

The Vite dev server proxies /api and /api/ws/* to the Fastify backend with a synthetic Remote-User: sam header so the Authelia auth layer can be skipped during development.

Production

cd /opt/boocode
docker compose up --build -d

Binds to 100.114.205.53:9500 (Tailscale). Authelia is expected to gate the upstream and inject Remote-User. Postgres binds loopback only.

BooCoder runs as a host systemd service (boocoder.service, port :9502), not in Docker:

pnpm -C packages/contracts build && pnpm -C apps/server build && pnpm -C apps/coder build
sudo systemctl restart boocoder
curl http://100.114.205.53:9502/api/health

Services

Service Port Description
BooChat 100.114.205.53:9500 Read-only chat + SPA
BooTerm 100.114.205.53:9501 PTY/tmux terminal panes
BooCoder host:9502 Write tools + agent dispatch + MCP server (systemd service, not Docker)
Postgres 127.0.0.1:5500 Shared database (boochat; Docker service boocode_db)
codecontext internal :8080 Code graph sidecar (Docker network only)

What's shipped

See boocode_roadmap.md and CHANGELOG.md for full version history. Highlights as of v2.7.17:

  • BooChat: streaming chat, file-read tools, compaction, reasoning support, HTML/Markdown artifact panes, cross-repo read grants, MCP client (multi-server + stdio), tool-cost tracking, skills system, builtin agent registry, multi-pane workspace (chat / terminal / coder / orchestrator)
  • BooTerm: in-browser terminal panes via tmux + xterm.js, per-session tmux sessions, SSH-out support
  • BooCoder: write tools (edit_file with fuzzy matching, create_file, delete_file, apply_pending, rewind, git-ref checkpoints), pending-changes queue + a Files/Git diff panel (stage / commit / discard), provider snapshot (5 providers: boocode, claude, opencode, goose, qwen — cursor/copilot retired), AgentComposerBar, warm ACP + persistent agent sessions (opencode HTTP server; claude via the Agent SDK with native session resume) + PTY fallback, config-backed provider lifecycle, Arena (same task → N models), MCP server, CLI client, human inbox, Boomerang orchestration, pane-scoped chats
  • Orchestrator (v2.7.17): launch any of 22 read-only Han flows (research, code-review, investigate, architectural-analysis, …) from BooChat or BooCoder via the Workflow button, a slash command, or + menu → New Orchestrator; each step runs as a bounded agent on local Qwen (hard read-only via qwen --approval-mode plan), streaming live in a Paseo-style run pane with an evidence-disciplined, adversarially-validated report. Persisted + resumable. @boocode/contracts single-sources the cross-app wire contracts (v2.7.13).

Planned

Most prior roadmap milestones have shipped (see boocode_roadmap.md). What remains is optional/exploratory — e.g. a verify-gate ensembler over pending changes (majority-vote diff ranking). No committed milestones currently in flight.

License

MIT — see LICENSE.

Description
No description provided
Readme MIT 22 MiB
Languages
TypeScript 95.1%
CSS 2.4%
Shell 0.7%
PLpgSQL 0.6%
JavaScript 0.6%
Other 0.6%