Project Layout

Tento dokument je canonical source of truth pro layout repozitare Shift Planner.

Repository Root

  • AGENTS.md: kratke provozni instrukce pro agenty
  • mkdocs.yml: canonical MkDocs konfigurace
  • docs/: canonical projektova dokumentace
  • scripts/: root orchestrace pro start/stop/deploy vsech modulu
  • tools/: sdilene helpery a jednorazove utility
  • shift-planner-app/: hlavni webova aplikace
  • shift-planner-jobs/: scheduler a one-shot joby
  • shift-planner-doc/: docs packaging a deployment modul
  • data/: sdilena business data pro app a jobs

Service Modules

Kazdy deployable modul ma vlastnit:

  • Dockerfile
  • docker-compose*.yml
  • .env.example
  • README.md
  • data/
  • logs/
  • conf/
  • scripts/<module>-common.sh
  • scripts/<module>-start.sh
  • scripts/<module>-stop.sh
  • scripts/<module>-deploy.sh

Canonical operacni rozhrani je uvnitr modulu. Root scripts/ slouzi jen pro repo-level orchestrace.

Docs Module

Canonical docs content zustava v root docs/ a mkdocs.yml. shift-planner-doc/ je packaging modul pro publikaci teto dokumentace.

Runtime Layout

  • App a jobs sdileji business data pod root data/ a na serveru typicky pod /home/agent/shift-planner/data.
  • Lokalni a deploy workflow se standardne ridi secrets/local/<module>.env a secrets/prod/<module>.env.
  • Sdilena auto-shift policy konfigurace se ridi secrets/local/shift-planner-shared.env a secrets/prod/shift-planner-shared.env.
  • .env.local a .env.server jsou jen materializovane runtime artefakty.
  • App a jobs ctou runtime konfiguraci pouze z env; uz nepouzivaji fallback na conf/*.conf.
  • /app/conf zustava read-only mount z moduloveho conf/ adresare.

Zamerne odchylky od ciste baseline jsou popsane v:

  • docs/adr/0001-shared-runtime-state.md
  • docs/adr/0002-whatsapp-adapter-boundary.md