mirror of
https://github.com/andwati/zitadel.git
synced 2026-11-02 12:22:15 +00:00
chore: add terminology Markdown catalog for Copilot review (#11764)
## Problem ZITADEL has inconsistent naming across docs, UI, and API ([#5888](https://github.com/zitadel/zitadel/issues/5888)). We want contributors and Copilot code-review agents to flag discouraged terms and suggest canonical replacements automatically. ## Solution Add a **Markdown terminology catalog** that Copilot agents read natively. ### What's added - **`TERMINOLOGY.md`** (repo root) — full ~35-term canonical table from issue #5888 with: - Action legend: `keep` / `replace` / `remove` / `internal` / `proposed` - Scope legend: `UI` / `Docs` / `API` / `Everywhere` - "Search for (discouraged)" and "Replace with / enforce" columns - Governance section (how to add new terms, ownership) - **`.github/instructions/terminology.instructions.md`** — Copilot `applyTo`-scoped instruction that activates on every PR touching docs/i18n/proto files and tells the agent: - Which files map to which scope - Not to flag identifiers/field names in proto files (only comments/descriptions) - To request catalog updates when new terms are introduced ### What's updated - `.github/copilot-instructions.md` — points to `TERMINOLOGY.md` - `apps/docs/AGENTS.md` — updated reference, removed dead `check-terminology` Nx target entry - `.github/pull_request_template.md` — checklist item updated - `.github/workflows/ready_for_review.yml` — checklist item updated ### Why Markdown over JSON | | Markdown | JSON | |---|---|---| | Copilot reads natively | yes | no (needs parsing context) | | Mirrors AGENTS.md table style | yes | no | | Human-readable without tooling | yes | no | | Mirrors the #5888 issue format | yes | no | | Requires schema / parser | no | yes | ### Why root over `.github/` `.github/` is for GitHub-specific automation files. `TERMINOLOGY.md` is a project-wide convention document — it belongs alongside `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, and `AGENTS.md` at the repo root. ## How it works in practice When a PR touches `apps/docs/content/**`, `console/src/assets/i18n/**`, `apps/login/locales/**`, or `proto/**/*.proto`, Copilot code review automatically loads `.github/instructions/terminology.instructions.md` and cross-references `TERMINOLOGY.md` to flag discouraged terms. Human reviewers see the terminology checklist in the auto-comment on PR open. ## Checklist - [x] `TERMINOLOGY.md` at repo root with all ~35 terms from #5888 - [x] Plain text action/scope values (no emojis) - [x] Copilot instruction file scoped to correct file patterns - [x] All stale `terminology-rules.json` references removed - [x] No linter/CI step added (guidelines-only approach) Relates to: #5888 --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Fabienne Bühler <[email protected]>
This commit is contained in:
co-authored by
Copilot
Fabienne Bühler
parent
574e23e834
commit
4586708c06
@@ -21,5 +21,6 @@ You are working in the ZITADEL monorepo. This codebase uses specific conventions
|
||||
- Use verified Nx targets only; if unsure, run `pnpm nx show project <project>`.
|
||||
- For backend changes, note we are in transition: relational data is becoming the system of record, while event writes are still required for history/audit.
|
||||
- Respect terminology defined in the `Technical Glossary` section of `AGENTS.md` when generating UI text or documentation.
|
||||
- For user-facing wording updates across docs/UI/API descriptions, follow the canonical table in `TERMINOLOGY.md` (issue #5888).
|
||||
- Distinguish between `apps/login` (Next.js) and `console` (Angular) when suggesting frontend code.
|
||||
- For deployment-related work, consult the directory-specific agents files (e.g., `deploy/compose/AGENTS.md`) for invariants, file conventions, and rejected alternatives.
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
applyTo: '{apps/docs/content/**/*.mdx,apps/docs/content/**/*.md,console/src/assets/i18n/*.json,apps/login/locales/*.json,internal/static/i18n/*.yaml,internal/static/i18n/*.yml,proto/**/*.proto}'
|
||||
---
|
||||
|
||||
When reviewing user-facing naming changes, enforce the canonical terminology table in `TERMINOLOGY.md`.
|
||||
|
||||
### How to apply
|
||||
- Cross-reference every changed user-facing string against the **Search for (discouraged)** column.
|
||||
- If a discouraged term is found, flag it and suggest the canonical term from **Replace with / enforce**.
|
||||
- For `proto/**/*.proto` files: check comments and `description:`/`summary:` text only; do not flag identifiers, field names, or enum values.
|
||||
- Only apply rules where the **Scope** column matches the file type:
|
||||
- `UI` → `console/src/assets/i18n/`, `apps/login/locales/`
|
||||
- `Docs` → `apps/docs/content/`
|
||||
- `API` → `proto/**`, API description text
|
||||
- `Everywhere` → all of the above
|
||||
- If a PR introduces a new policy, setting, or resource term not yet in the table, request that the contributor adds it to `TERMINOLOGY.md`.
|
||||
@@ -21,6 +21,7 @@ Replace this example text with a concise list of additional changes that this PR
|
||||
For example:
|
||||
- The docs explicitly describe that the property XY is mandatory
|
||||
- Adds missing translations for validations.
|
||||
- Terminology updates follow issue #5888 and `TERMINOLOGY.md` (including catalog updates for newly introduced terms).
|
||||
|
||||
# Additional Context
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ jobs:
|
||||
|
||||
- [ ] I have reviewed my changes and would approve it
|
||||
- [ ] Documentations and examples are up-to-date
|
||||
- [ ] Terminology updates follow issue #5888 and TERMINOLOGY.md
|
||||
- [ ] Logical behavior changes are tested automatically
|
||||
- [ ] No debug or dead code
|
||||
- [ ] My code has no repetitions
|
||||
|
||||
Reference in New Issue
Block a user