Files
CartoLite-Server/AGENTS.md
n30nex f7941b7a95 Upgrade visual styling and ship prebuilt worldwide Docker images (#12)
* Add shared visual controls and native prebuilt worldwide Docker releases

* Validate shared styles, synthetic buildings, and date-line-safe packet geometry

* Document the release and bound decorative work in dense route views

* Remove the retired terrain-history collection cache

* Address review feedback on terrain updates, legends, and responsive buildings

* Keep the region and packet legends separate on compact screens

* Separate building, camera, and responsive browser checks

* Wait for the complete synthetic snapshot before upgrade checks
2026-09-12 18:36:06 -04:00

1.7 KiB

CartoLite Server agent instructions

Purpose

CartoLite Server is a compact worldwide MeshCore map and Netgraph: a Go MQTT/HTTP process, a vanilla TypeScript/MapLibre client, transient Canvas animation, and one atomic checkpoint. Keep it suitable for independent self-hosting. Netgraph areas use coordinate-derived global grid squares, never country-specific lists.

Boundaries

  • Never expose public keys, observer keys, raw path hex, packet hashes, packet payloads, decoded message text, credentials, or resolver reasons.
  • Never infer ambiguous, non-forwarder, missing-coordinate, missing-RF, or distance-gated route hops.
  • Keep public API schema v2 synchronized between Go and TypeScript.
  • Do not add analytics, accounts, chat, packet history, SQLite, an Android app, country-specific data, or Labs.
  • Use synthetic fixtures only. Never commit live broker data, .env, checkpoints, captures, or secret files.

Delivery

  • Preserve the scratch, non-root, read-only, capability-free container.
  • Published images must contain no operator or CI map key. The default provider is key-free; optional browser-visible CARTO keys are read from a mounted runtime secret and exposed only in the explicit public map configuration.
  • Build/test/release only in GitHub Actions; do not build or run containers on the shared workstation.
  • Promote tested amd64/arm64 image digests without rebuilding. The default Compose install must consume a published image.
  • Keep REGION_ALLOWLIST optional and exact when configured.
  • Run frontend tests/build, Go tests/vet/race, integration/privacy smoke tests, and git diff --check before release.
  • Preserve unrelated work and never force-push shared branches.