Architecture Guidelines

Chosen Defaults

  • Preferujeme male top-level moduly s jasnym ownership.
  • Canonical operational behavior patri do modulovych skriptu, ne do shell historie.
  • Modulove runtime promenne maji encrypted source of truth v secrets/local/<module>.env a secrets/prod/<module>.env.
  • Sdilena auto-shift policy konfigurace ma encrypted source of truth v secrets/local/shift-planner-shared.env a secrets/prod/shift-planner-shared.env.
  • .env.local a .env.server jsou jen materializovane runtime artefakty, commitovana sablona je .env.example.
  • Root scripts/ maji drzet jen start/stop/deploy orchestrace pro vsechny moduly.
  • Sdilene helpery a utility patri do tools/, ne do root scripts/.
  • Root docs/ a mkdocs.yml jsou source of truth pro dokumentaci.
  • HTTP sluzby musi drzet stabilni GET /healthz kontrakt.

Project-Specific Choices

  • shift-planner-app a shift-planner-jobs sdileji business data a cast provoznich host paths, protoze pracuji nad stejnymi CSV datasety a stejnym CME kontextem.
  • Root scripts/ drzi jen repo-level orchestrace, ale canonical API jsou modulove skripty.
  • WhatsApp notifikace jdou pres externi whatsapp-adapter-api; Shift Planner uz nedrzi vlastni WhatsApp runtime modul.

When To Open An ADR

Otevri ADR vzdy, kdyz:

  • projekt porusi skill-level MUST
  • zamerne drzi dulezitou SHOULD vyjimku
  • rozhodnuti je drahe vratit zpet