From d1a730cef881f3429be865ac5d6f06d709c5b60d Mon Sep 17 00:00:00 2001 From: hugo Date: Tue, 24 Feb 2026 21:02:31 +0100 Subject: [PATCH] chore: updated claude and gemini instructions --- CLAUDE.md | 17 +++++++++++++++++ GEMINI.md | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 66d473d..34e7bef 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -102,6 +102,23 @@ See the [TDD Requirements](#test-driven-development-tdd-requirements) section fo --- +## ⚠️ MANDATORY: Keep Python API Bindings and API Docs in Sync + +**Whenever any app API is added, removed, or changed, you MUST update the Python API bridge and API documentation in the same change set.** + +- Update the Python API contract/bindings used by embedded Pyodide (`bds_api`) +- Regenerate and commit `API.md` +- Ensure every API entry documents: + - Parameter names, types, and required/optional status + - Return type/response specification + - At least one sample Python call +- Maintain a shared **Data Structures** section in `API.md` for canonical objects (for example `PostData`, `MediaData`) so users can see expected attributes in one place +- Keep docs sync tests passing (documentation and generator output must match) + +> **No API contract drift between app APIs, Python bindings, and API.md. No exceptions.** + +--- + ## Architecture Principles ### Separation of Concerns diff --git a/GEMINI.md b/GEMINI.md index 71c7b95..34e7bef 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -85,6 +85,40 @@ See the [TDD Requirements](#test-driven-development-tdd-requirements) section fo --- +## ⚠️ MANDATORY: Proper I18N for UI and Rendering Text + +**All user-facing text MUST follow proper i18n patterns.** + +- Do not hardcode UI strings directly in React components, menu templates, dialogs, or toasts +- Store UI copy in language resources and resolve text through i18n helpers/hooks +- UI language MUST come from the operating system locale +- Rendering/preview/generated-content language MUST come from project preferences (`mainLanguage`), not UI locale +- Keep i18n usage consistent in both renderer UI and render/preview output +- For supported locales, translations MUST come from that locale file only; do not copy English terms into supported locale files as fallback +- English fallback is allowed only when the requested locale is unsupported by available locale files +- The project `mainLanguage` selector must expose exactly all supported render languages and no unsupported extras + +> **No hardcoded user-facing text. No exceptions.** + +--- + +## ⚠️ MANDATORY: Keep Python API Bindings and API Docs in Sync + +**Whenever any app API is added, removed, or changed, you MUST update the Python API bridge and API documentation in the same change set.** + +- Update the Python API contract/bindings used by embedded Pyodide (`bds_api`) +- Regenerate and commit `API.md` +- Ensure every API entry documents: + - Parameter names, types, and required/optional status + - Return type/response specification + - At least one sample Python call +- Maintain a shared **Data Structures** section in `API.md` for canonical objects (for example `PostData`, `MediaData`) so users can see expected attributes in one place +- Keep docs sync tests passing (documentation and generator output must match) + +> **No API contract drift between app APIs, Python bindings, and API.md. No exceptions.** + +--- + ## Architecture Principles ### Separation of Concerns