b7244a24b0a4e9a86ad5dab27bdc333aa89e1cca
Documentation half of the first of five domain-split PRs (API_V2_PLAN.md § Phase 2). BACKEND_DESIGN.md - §2 folder structure: admin/ now shows index.js (shared gate + mount table) and the four capability routers with their route counts, prefixes and extra gates; admin.routes.js is labelled as the 82-route residual that goes away with PR 5. - §4 /admin heading: was "admin.routes.js -> admin.controller.js", now points at admin/index.js and notes staffOnly, which the old heading omitted. - The "planned change" note becomes "in progress" with what has landed. API_V2_PLAN.md - Status: planning -> in progress; PR 1 marked landed in the sequencing list. - New "PR 1 — as landed" section: the route-count table (6+15+3+4+82 = 110) and three findings for PRs 2-5 — why the self-service /shard/* routes stay with the shard capability despite their Admin · Account tag, why a prefix mount must not be "simplified" to a pathless one (a bare use(gate) would then run for requests headed to later mounts), and that routes.guards.json came back zero-diff too. - New section on the swagger path-normalization prerequisite and its consequence: with sorted path keys, a pure route move produces no spec diff, so the spec becomes a third zero-diff gate alongside the manifest and guards files. - Correction to step 6: PROJECT_TREE.md is auto-generated by the sync-project-tree workflow since website#98 and must not be hand-edited in split PRs. api-route-inventory.json is unchanged — verified still byte-identical to server/routes.manifest.json (200 public + 2 internal), which is the point. Co-Authored-By: Claude <noreply@anthropic.com>
Runic Gateway — Documentation
Central documentation for the Runic Gateway platform. The docs here were extracted from the two code repositories (with full commit history preserved) so they live in one place, independent of either codebase.
Layout
website/ docs from the shard website (Node/Express + MariaDB + React/Vite)
link/ docs from the ServUO bridge (C# plugin + Rust sidecar + Node WS)
android/ docs from the native Android client (Kotlin + Jetpack Compose)
ci/ cross-cutting CI/quality notes
website/
| Doc | What it covers |
|---|---|
| BACKEND_DESIGN.md | API contract, DB schema, security model |
| HERO_EDITOR.md | Hero canvas editor feature spec |
| WIKI_UPGRADE.md | Wiki subsystem upgrade notes |
| website-README.md | Snapshot of the website repo's README (setup/run reference) |
| PROJECT_TREE.md | Auto-generated snapshot of the repo's tracked file layout |
link/
| Doc | What it covers |
|---|---|
| INTEGRATION.md | How the website integrates with the uo-link sidecar |
| PROTOCOL_2.md | Protocol 2.0 / 2.1 design |
| ADMIN_CONTROLS.md | Staff write-plane (kick/ban/broadcast, page queue) |
| SHARD_PREREQS.md | Shard-side prerequisites for the bridge |
| PLAN.md | uo-link build plan |
| RESEARCH.md | Research notes |
| link-README.md | Snapshot of the link repo's README |
| PROJECT_TREE.md | Auto-generated snapshot of the repo's tracked file layout |
android/
| Doc | What it covers |
|---|---|
| PLAN.md | Android client build plan / milestones |
| COVERAGE_PLAN.md | Test-coverage rollout plan |
| APP_LINKS.md | Android App Links / deep-link setup |
| theme-plan.md | Theming plan |
| TRUSTED_DEVICES_APP_HANDOFF.md | Trusted-devices app handoff notes |
| PROJECT_TREE.md | Auto-generated snapshot of the repo's tracked file layout |
Provenance
website/*was extracted fromRunicGateway/websiteviagit filter-repo.link/*was extracted fromRunicGateway/linkviagit filter-repo.
Commit history and authorship for each doc are preserved. The two source repos retain a short pointer to this repo in their own READMEs; the authoritative copy of each document now lives here.
License
Runic Gateway's documentation is free: licensed under the GNU General Public License v3.0 or later — see LICENSE.md.
Copyright (C) 2026 Runic Gateway
This documentation is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY. You may redistribute and/or modify it under the terms of
the GNU General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.
Contributions are welcome — please read CONTRIBUTING.md (note the AI-usage disclosure requirement) and our Code of Conduct.
Description
Languages
Markdown
100%