Internal docs index
These docs live next to the code; they're for the people running
shithub the project (operators + contributors). The public-facing
subset is mirrored under docs/public/ and built into the docs
site.
Convention. Internal docs answer "why" and link to the code. Public docs answer "how do I" and explain only what a user/operator needs.
Architecture & wiring
- architecture.md — system overview, request lifecycle, data flow, deployment topology.
- config.md — config loader, key reference, secrets handling.
- db.md — schema overview, migration tooling.
- db-indexes.md — index catalog with the rationale per index.
- db-roles.md — Postgres role/grant scheme.
- observability.md — logging, tracing, metrics, error reporting.
- storage.md — bare-repo + object store.
- worker.md — job queue + handlers.
- caching.md — LRU + singleflight + cache invariants.
- bench.md — bench harness usage + N+1 audit pattern.
Auth & security
- auth.md — sessions, password, TOTP, recovery codes.
- tokens.md — PAT format, scopes, revocation.
- permissions.md —
policy.Cansemantics. - 2fa.md — TOTP enrollment, recovery flow.
- ssh-deploy.md — AKC contract.
- git-ssh.md, git-http.md — git transports.
- security-checklist.md — controls + the tests proving them.
- threat-model.md — v1 attacker model.
- hooks.md — pre/post-receive contracts.
Domain features
- profile.md, settings.md
- repo-create.md, repo-lifecycle.md
- code-tab.md, diffs.md, commits-blame.md
- forks.md, stars-watchers.md
- issues.md, pull-requests.md, pr-review.md
- branch-protection.md, checks.md
- actions-schema.md, actions-runner-api.md, actions-ga-readiness.md
- orgs.md, teams.md
- billing.md — paid org product contract, entitlements, and Stripe integration guardrails.
- notifications.md
- search.md, markdown.md
- seo.md — crawler endpoints, metadata, sitemap, and public positioning.
Operations
- deploy.md — Ansible playbook + topology.
- runbooks/runner-deploy.md — Actions runner host deployment.
- runbooks/ — incident, backup, restore, upgrade, rollback, plus rotation procedures.
Conventions for adding a new doc
- One markdown file per subsystem; name it after the subsystem, not the sprint.
- Link to the relevant package directory in the first paragraph.
- Public-facing material that should appear on
docs.shithub.tld goes in
docs/public/...and follows the operator/user voice; the internal version is the authoritative source on "why". - Update this index when you add a new file.
View source
| 1 | # Internal docs index |
| 2 | |
| 3 | These docs live next to the code; they're for the people running |
| 4 | shithub the project (operators + contributors). The public-facing |
| 5 | subset is mirrored under `docs/public/` and built into the docs |
| 6 | site. |
| 7 | |
| 8 | > **Convention.** Internal docs answer "why" and link to the |
| 9 | > code. Public docs answer "how do I" and explain only what a |
| 10 | > user/operator needs. |
| 11 | |
| 12 | ## Architecture & wiring |
| 13 | |
| 14 | - [architecture.md](./architecture.md) — system overview, request |
| 15 | lifecycle, data flow, deployment topology. |
| 16 | - [config.md](./config.md) — config loader, key reference, secrets |
| 17 | handling. |
| 18 | - [db.md](./db.md) — schema overview, migration tooling. |
| 19 | - [db-indexes.md](./db-indexes.md) — index catalog with the |
| 20 | rationale per index. |
| 21 | - [db-roles.md](./db-roles.md) — Postgres role/grant scheme. |
| 22 | - [observability.md](./observability.md) — logging, tracing, |
| 23 | metrics, error reporting. |
| 24 | - [storage.md](./storage.md) — bare-repo + object store. |
| 25 | - [worker.md](./worker.md) — job queue + handlers. |
| 26 | - [caching.md](./caching.md) — LRU + singleflight + cache |
| 27 | invariants. |
| 28 | - [bench.md](./bench.md) — bench harness usage + N+1 audit |
| 29 | pattern. |
| 30 | |
| 31 | ## Auth & security |
| 32 | |
| 33 | - [auth.md](./auth.md) — sessions, password, TOTP, recovery |
| 34 | codes. |
| 35 | - [tokens.md](./tokens.md) — PAT format, scopes, revocation. |
| 36 | - [permissions.md](./permissions.md) — `policy.Can` semantics. |
| 37 | - [2fa.md](./2fa.md) — TOTP enrollment, recovery flow. |
| 38 | - [ssh-deploy.md](./ssh-deploy.md) — AKC contract. |
| 39 | - [git-ssh.md](./git-ssh.md), [git-http.md](./git-http.md) — git |
| 40 | transports. |
| 41 | - [security-checklist.md](./security-checklist.md) — controls + the |
| 42 | tests proving them. |
| 43 | - [threat-model.md](./threat-model.md) — v1 attacker model. |
| 44 | - [hooks.md](./hooks.md) — pre/post-receive contracts. |
| 45 | |
| 46 | ## Domain features |
| 47 | |
| 48 | - [profile.md](./profile.md), [settings.md](./settings.md) |
| 49 | - [repo-create.md](./repo-create.md), |
| 50 | [repo-lifecycle.md](./repo-lifecycle.md) |
| 51 | - [code-tab.md](./code-tab.md), [diffs.md](./diffs.md), |
| 52 | [commits-blame.md](./commits-blame.md) |
| 53 | - [forks.md](./forks.md), [stars-watchers.md](./stars-watchers.md) |
| 54 | - [issues.md](./issues.md), [pull-requests.md](./pull-requests.md), |
| 55 | [pr-review.md](./pr-review.md) |
| 56 | - [branch-protection.md](./branch-protection.md), |
| 57 | [checks.md](./checks.md) |
| 58 | - [actions-schema.md](./actions-schema.md), |
| 59 | [actions-runner-api.md](./actions-runner-api.md), |
| 60 | [actions-ga-readiness.md](./actions-ga-readiness.md) |
| 61 | - [orgs.md](./orgs.md), [teams.md](./teams.md) |
| 62 | - [billing.md](./billing.md) — paid org product contract, |
| 63 | entitlements, and Stripe integration guardrails. |
| 64 | - [notifications.md](./notifications.md) |
| 65 | - [search.md](./search.md), [markdown.md](./markdown.md) |
| 66 | - [seo.md](./seo.md) — crawler endpoints, metadata, sitemap, and |
| 67 | public positioning. |
| 68 | |
| 69 | ## Operations |
| 70 | |
| 71 | - [deploy.md](./deploy.md) — Ansible playbook + topology. |
| 72 | - [runbooks/runner-deploy.md](./runbooks/runner-deploy.md) — |
| 73 | Actions runner host deployment. |
| 74 | - [runbooks/](./runbooks/) — incident, backup, restore, upgrade, |
| 75 | rollback, plus rotation procedures. |
| 76 | |
| 77 | ## Conventions for adding a new doc |
| 78 | |
| 79 | 1. One markdown file per subsystem; name it after the subsystem, |
| 80 | not the sprint. |
| 81 | 2. Link to the relevant package directory in the first paragraph. |
| 82 | 3. Public-facing material that should appear on |
| 83 | [docs.shithub.tld](https://docs.shithub.tld) goes in |
| 84 | `docs/public/...` and follows the operator/user voice; the |
| 85 | internal version is the authoritative source on "why". |
| 86 | 4. Update this index when you add a new file. |