Skip to content

Latest commit

 

History

History
28 lines (20 loc) · 765 Bytes

File metadata and controls

28 lines (20 loc) · 765 Bytes

CLAUDE.md

Purpose

Maintain consistency for the Bus Map workspace.

Non-negotiable constraints

  • Rust workspace with shared domain types.
  • apps/web is the Bevy/WASM client.
  • apps/api is the Axum backend.
  • Region assets are external and versioned.
  • Dorset is the first region, not a special case in the code.
  • Realtime BODS access is proxied by the backend so client secrets are never exposed.

Style

  • Use type-driven design and explicit conversions.
  • Prefer enums/newtypes over raw strings.
  • Avoid hidden global state.
  • Keep rendering, ingest, and transport boundaries separate.

When adding features

  1. Extend crates/domain.
  2. Update API contracts.
  3. Update ingest normalization or region assets.
  4. Wire into Bevy systems last.