diff --git a/docs/it-hilfe-sofort-bauplan.md b/docs/it-hilfe-sofort-bauplan.md index d03abf1..700bd7a 100644 --- a/docs/it-hilfe-sofort-bauplan.md +++ b/docs/it-hilfe-sofort-bauplan.md @@ -8,6 +8,7 @@ > **Framework:** Flask + Inline-CSS (wie BSN-Chatsystem) > **Design-System:** `BSN-Blau #20228a`, Off-White `#F9FAFB`, System-Fonts, Mobile-First > **Stil:** Seriös + agil — KEINE Icons/Emojis, klare Typografie, viel Weißraum, reduzierte Farbpalette +> **Coding:** BSN Coding Standards BINDEND — Typ-Annotationen (PEP 604), deutsche Docstrings, Ruff+Mypy+Pytest --- @@ -343,9 +344,17 @@ if __name__ == "__main__": ## ✅ Qualitäts-Checks (vor JEDEM Commit) +**BSN Coding Standards sind BINDEND.** Alicia muss den Skill `bsn-coding-standards` laden und einhalten: + +- **Typ-Annotationen:** Jede Funktion mit `X | None` (PEP 604), `-> None` explizit +- **Docstrings:** Deutsch, Google-Style (Args, Returns, Raises) +- **Keine Secrets** im Code (API-Keys via `.env`) +- **Max 50 Statements/Funktion** (Ruff PLR0915) +- **McCabe ≤ 10** (Ruff C901) + ```bash -ruff check app.py --fix && ruff format app.py -python3 -c "from app import app; client=app.test_client(); assert client.get('/').status_code==200" +# Vor JEDEM Commit: +ruff check . --fix && ruff format . && python3 -c "from app import app; client=app.test_client(); assert client.get('/').status_code==200" ``` - **Conventional Commits:** `feat(blog):` / `feat(leistungen):` / `fix(css):`