System Structure
This page is for developers, contributors, and agents who need the project shape quickly.
Top-level modules
Section titled “Top-level modules”crates/track-coreShared types, repositories, migration logic, backend settings, and remote-agent orchestration.crates/track-captureLocal capture parsing and model resolution.crates/track-cliThe CLI entrypoint and human-facing command surface.crates/track-apiThe Axum backend that serves JSON endpoints and the built frontend.frontend/The Vue WebUI.docs/The Starlight documentation book.
Runtime state today
Section titled “Runtime state today”The current system is centered on backend state, not on hand-edited task files.
- the CLI keeps its own config in
~/.config/track/cli.json - the backend keeps live state in SQLite
- remote-agent SSH material is managed under backend state
- older
config.jsonand~/.tracklayouts exist only as migration inputs
Task capture flow
Section titled “Task capture flow”- the CLI loads
cli.json - the CLI fetches registered projects from the backend
- the local parser turns rough prose into structured task input
- the backend validates and stores the task
Task dispatch flow
Section titled “Task dispatch flow”- the WebUI asks the backend to dispatch a task
- the backend loads remote-agent settings and project metadata
- the backend prepares or reuses a remote checkout and worktree
- the backend launches Codex or Claude on the remote machine
- the backend persists run history for the WebUI
PR review flow
Section titled “PR review flow”- the WebUI creates a review request from a GitHub PR URL
- the backend prepares remote review context
- the remote runner submits the review on GitHub
- the backend stores the review record and every review run
Deployment shape
Section titled “Deployment shape”The shipped Docker image serves both:
/api/*from the Rust backend- the built frontend assets
That is why the everyday user flow only needs one local container stack and one browser port.