50 lines
2.9 KiB
Plaintext
50 lines
2.9 KiB
Plaintext
---
|
|
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.md`, `docs/api/routes-all.md` | Endpoint-Übersicht |
|
|
| **dieses** | `docs/api/routes/` | eine Markdown-Datei pro Endpoint |
|
|
| **dieses** | `/docs/` (lokal) | interaktive Swagger-UI; Spec wird zur Laufzeit aus den `@openapi`-JSDoc gebaut (`src/api/openapiSpec.js`) — es gibt bewusst **keine** `openapi.json` auf Disk |
|
|
| dashdbschema | `../dashdbschema/README.md` | Store-Übersicht, Konventionen, HTTP-Mapping |
|
|
| dashdbschema | `../dashdbschema/API.md` | Store-API-Index (TOC → `API.<modul>.md`) |
|
|
| dashdbschema | `../dashdbschema/API.<modul>.md` | pro Namespace (`entity`, `article`, …): Methoden, Signaturen, JSDoc-Beispiele |
|
|
| dashdbschema | `../dashdbschema/src/store/` | Implementierung (wenn Doku unklar) |
|
|
| 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).
|
|
Store-API-Docs in dashdbschema: `npm run api-doc` (aus JSDoc in `src/store/` → `API.md` + `API.<modul>.md`).
|
|
|
|
## 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/API.md` / `API.<modul>.md` für Signaturen und Beispiele; `README.md` für Konventionen und HTTP-Mapping; ggf. 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.
|