1.2 KiB
1.2 KiB
Tech Stack
Backend
- Language: Rust
- Framework: Poem (HTTP + WebSocket + OpenAPI)
- Database: SQLite via sqlx + rusqlite
- State: BFT CRDT replicated document backed by SQLite
- Agents: Claude Code CLI spawned in PTY pseudo-terminals
- Package manager: cargo
Frontend
- Language: TypeScript + React
- Build: Vite
- Package manager: npm
- Testing: Vitest (unit), Playwright (e2e)
Deployment
- Single Rust binary with embedded React frontend (rust-embed)
- Three modes: standard server, headless build agent (
--rendezvous), multi-project gateway (--gateway) - Docker container with OrbStack recommended on macOS
Project Layout
server/src/ — Rust backend
frontend/src/ — React frontend
crates/bft-json-crdt/ — CRDT library
.huskies/ — Pipeline config, agent config, specs
script/ — test, build, lint scripts
docker/ — Dockerfile and docker-compose
website/ — Static marketing/docs site
Quality Gates
All enforced by script/test:
- Frontend build (
npm run build) - Rust formatting (
cargo fmt --all --check) - Rust linting (
cargo clippy -- -D warnings) - Rust tests (
cargo test) - Frontend tests (
npm test)