Heimdallone Docs
Developer / Operator

Developer / Operator

Architecture, module boundaries, quality gates, deployment, and how to keep docs in sync with code.

AdminSecurity

This area is for engineers and operators running and extending Heimdallone.

Topics

  • Architecture — TanStack Start + oRPC + Drizzle on a Bun/Turborepo monorepo.
  • Module boundaries — each module owns its domain; coordination layers link, never mutate.
  • RBAC — byte-aligned helpers between server and client; deny-by-default.
  • Quality gatescheck-types, build, permission audit, lint baseline, verify scripts.
  • Migration scripts — read-only v1 access, scratch-only writes, reconciliation.
  • Deployment — apps and the docs site.

Keeping docs in sync

Documentation is part of the product. When the UI, a workflow, permissions, or a module changes, the relevant docs in this site change with it — ideally in the same commit. See the Documentation Rule in AGENTS.md.

Operator / cutover documents (internal)

These live in the repository under docs/migration and docs/architecture — they are the developer/operator record (plans, exact commands, evidence), not product help. They are intentionally not part of the user-facing docs above:

  • docs/migration/phase-21p-cutover-authorization.md — owner sign-off packet (decision checklist + freeze checklist + GO/NO-GO).
  • docs/migration/v1-to-v2-cutover-runbook.md — exact cutover commands (labelled do-not-run-until-approved).
  • docs/migration/phase-21m-freeze-readiness.md — dress-rehearsal evidence.
  • docs/architecture/device-sync-bridge-plan.md — biometric device sync design.

Audience split

User-facing product help (how to use the app) lives in this Fumadocs site. Migration phase reports, shell-command runbooks, and cutover command packets stay in docs/migration / docs/architecture and are never presented as normal user help.

This docs site

These docs are built with Fumadocs on TanStack Start in apps/docs, isolated from the product app. Content is MDX under apps/docs/content/docs. Build with bun run -F docs build; develop with bun run -F docs dev.

On this page