diff --git a/.cursor/rules/sibling-repos.mdc b/.cursor/rules/sibling-repos.mdc new file mode 100644 index 0000000..5df98a3 --- /dev/null +++ b/.cursor/rules/sibling-repos.mdc @@ -0,0 +1,44 @@ +--- +description: Sibling-Repos dashfront/dashdbschema — nur lesen, keine Cross-Edits; Docs & Git-Logs +alwaysApply: true +--- + +# Sibling-Repos (dashback) + +Dieses Repo ist **dashback** (HTTP-API). Geschwister: `../dashfront` (UI), `../dashdbschema` (MSSQL-Schema + Store-API). Jedes Repo hat ein eigenes Agent/Human-Paar. **Cross-Interference nur durch den Human** — du änderst keine Dateien außerhalb dieses Repos. + +## Erlaubt (read-only) + +- Git-Logs der Geschwister lesen, wenn API/Schema/UI-Stand unklar ist: + - `git -C ../dashfront log --oneline -20` + - `git -C ../dashdbschema log --oneline -20` +- Doku und Code der Geschwister **lesen** (Verträge prüfen, nicht patchen) + +## Verboten + +- Dateien in `../dashfront` oder `../dashdbschema` schreiben, committen, installieren, Server starten/stoppen +- Annahmen über Store-API oder Frontend ohne deren Doku/Logs +- Änderungen „für die anderen“ vorwegnehmen — der Human koordiniert +- **Keine Fallbacks** — fehlende/unklare API nicht erraten, nicht mit Defaults/Alternativfeldern kaschieren + +## Unklar oder fehlt → absprechen + +Wenn ein Vertrag unklar oder fehlt: **nicht weiterwursteln**. Human fragen, Vorschläge machen, Lücken benennen. Absprache läuft über den Human zu den anderen Agents. **Lieber zu oft gefragt als zu wenig.** + +## Docs — wo was steht + +| Repo | Pfad | Inhalt | +|------|------|--------| +| **dieses** | `docs/api/README.md` | HTTP-Routen, Auth, CORS | +| **dieses** | `docs/api/routes/` | eine Markdown-Datei pro Endpoint | +| **dieses** | `docs/api/openapi.json` | maschinenlesbare Spec | +| dashdbschema | `../dashdbschema/README.md` | Store-Methoden, Signaturen, Returns | +| dashfront | `../dashfront/README.md`, `../dashfront/src/api/index.js` | Client-Spiegel; erwartet unsere API-Docs | + +API-Docs hier regenerieren: `npm run docs:api` (aus `@openapi` an den Handlern). + +## Was der Human / die anderen von dir erwarten + +1. **Vor Frontend-Arbeit:** Route in `docs/api/` aktuell halten (nach Code-Änderung `docs:api` laufen lassen). +2. **Vor Store-Nutzung:** `../dashdbschema/README.md` und ggf. dessen Git-Log lesen — fehlende Store-Methode dem Human melden, nicht erfinden. +3. Frontend-Verträge nur über dokumentierte HTTP-Shapes; keine stillen Breaking Changes ohne Doku-Update.