Skip to content

Development Flow

This section is aimed at developers and contributors. If you only want to use track, the earlier sections are the better place to stop.

For local development, keep these available:

  • Rust
  • Bun
  • Docker and docker compose

From the repository root:

Terminal window
cargo test --workspace
cargo build --release -p track-cli
cargo build --release -p track-api
cargo run -p track-api
docker compose up --build -d

Frontend work:

Terminal window
cd frontend
bun install
bun run dev
bun run typecheck
bun run build

Docs work:

Terminal window
cd docs
bun install
bun run dev
bun run build
  • crates/track-core: shared backend behavior and remote-agent orchestration
  • crates/track-capture: local parsing and model resolution
  • crates/track-cli: CLI surface
  • crates/track-api: Axum API and static asset serving
  • frontend/: Vue WebUI
  • docs/: Astro Starlight documentation book

For most feature work:

  1. keep the backend running locally
  2. register at least one project in the local UI/backend
  3. use the CLI and WebUI together while iterating
  4. update the Starlight docs when behavior or setup changes

If you change user-facing setup or workflow and skip the docs, the book becomes stale faster than the code.