Argos is a real-time telemetry platform for Northeastern Electric Racing (NER). Angular 21 frontend (angular-client/) and Rust backend (scylla-server/), with schema tooling in charybdis/ and MQTT broker config in siren-base/.
- The backend stack (Postgres, MQTT, Scylla server, Calypso simulator) runs in Docker via the compose files in
compose/, driven byargos.sh. - Pick the compose profile by what changed:
- Frontend-only changes:
./argos.sh client-dev upruns everything in Docker, including scylla-server. - Changes to
scylla-server/:./argos.sh scylla-dev up(everything except scylla-server) pluscd scylla-server && cargo runin a separate terminal, so you are not testing a stale binary.
- Frontend-only changes:
- Frontend client:
cd angular-client && npm run start(default port 4200); first compile takes ~10-60s. - The shell workflow (
argos.shand helpers likelsof/pkill) assumes a Unix shell. On Windows, run everything from WSL or Git Bash, notcmd/PowerShell.
- Frontend:
cd angular-client && ng test(Vitest in a headless jsdom DOM, no browser;--watch=falsefor a single run). - Backend:
cd scylla-server && cargo test(unit tests);./integration_test.shalso runs the database-backed integration tests. - Lint and format (frontend):
npx prettier --check "src/**/*.{ts,html,scss}" && npx ng lint. - Build (backend):
cargo build.
- Branch from
develop(notmain) unless told otherwise. Branch name format:{issue-number}-{kebab-case-title}(e.g.533-csv-upload-download-rules). - Commit message format:
#{ticket-number} - {concise description}(e.g.#533 - add CSV upload endpoint).
- Open PRs against
developas drafts. - Keep PR descriptions tight: at most three backtick usages in the body, and never commit screenshots (drag-drop them into the PR via the GitHub web UI).
Save all Playwright screenshots under pictures/<branch-name>/ at the repo root, using kebab-case descriptive filenames. The pictures/ folder is git-ignored, so screenshots are never committed; drag-drop them into the PR via the GitHub web UI instead.
- Never modify
.envor secret files without explicit confirmation. - Never delete files without explicit confirmation.
- Explain reasoning before making architectural changes.
Agent skills and ticket conventions live in Delphi, in the app and argos Claude Code plugins on Delphi's main, which the Argos workspaces enable. Issues are GitHub Issues on Northeastern-Electric-Racing/Argos, filed from the templates in .github/ISSUE_TEMPLATE/. Matt Pocock's skills were removed for now; ADRs 0002–0006 record their earlier adoption.
Architecture decisions live in docs/adr/.