Skip to content

How This Wiki Works

A wiki dies when people stop trusting it. One wrong or stale page and everyone goes back to asking in chat. These rules exist to prevent exactly that.

flowchart TD
  A["Want to add or change something?"] --> B{"Has this question<br/>been asked twice?"}
  B -->|No| C["Don't add a page yet.<br/>Answer in chat."]
  B -->|Yes| D["Write it — diagram first"]
  D --> E["Add owner + lastReviewed<br/>in frontmatter"]
  E --> F["Open a PR"]
  F --> G["Merged → it's now the standard"]
  G --> H{"Reviewed in<br/>last 6 months?"}
  H -->|Yes| G
  H -->|No| I["Delete it (not archive)"]
Rule Why
One owner + lastReviewed date per page Accountability. Ownerless pages rot.
Diagram-first Faster to read, harder to get wrong, easier to keep short.
Index, not source of truth Azure DevOps holds the real state; we link to it, never copy it.
Edit by PR Same review discipline as code.
Delete when stale A wrong page is worse than a missing one.
  • Belongs here: how we work, decide, and deliver — conventions, playbooks, templates, role boundaries.
  • Does NOT belong here: project-specific ADRs, runbooks, and AGENTS.md — those live in each project repo. This wiki holds the template only — instances, and any index of them, live where the instances live.
  • Never here: secrets, credentials, or real client contract data.

English is canonical; Arabic mirrors it under /ar/. A page is in exactly one of three states, and which one is a deliberate choice, not an accident:

State Which pages What the reader gets
Full translation Everything outside engineering/ The whole page in Arabic
Arabic summary The 7 engineering/<topic> standards pages One dense paragraph plus a pointer to the full English page. The rules are enforced by committed config, so the English page is the one you act on.
English only The 7 engineering/<topic>/examples subpages Starlight’s own “not available in your language yet” notice above the English content

Three rules that hold in both languages:

  • Technical terms stay in English inside Arabic textPR, pull request, branch, code review, pipeline, sprint, deployment, and framework names like Angular, .NET, PrimeNG. That is how we actually talk.
  • Mermaid diagrams and fenced code are copied verbatim. Node labels, file paths, and config keys are never translated — a diagram must read identically in both locales or the two will drift apart.
  • An Arabic page’s lastReviewed moves with its English twin. If you change the English page, you either update the Arabic one in the same PR or you have created a silent divergence.

A missing Arabic page falls back to English automatically, with a visible notice. That is the escape hatch, not the plan — anything in the first row above that is missing is a bug.

👤 Owner: Wahid Bitar🗓 Last reviewed: 2026-07-24

اقرأ هذه الصفحة بالعربية