Architecture

Use this page for orientation. Exact package exports and dependencies come from generated reference; durable subsystem detail lives under docs/architecture/; accepted declarations under architecture/ remain the editable architecture authority.

Table of Contents

Evidence order

  1. Accepted architecture/**/*.atlas.yaml declarations.
  2. Package manifests and maintained source.
  3. Accepted proposals.
  4. Generated package, dependency, API, and Code Atlas evidence.
  5. Explanatory guides.

Generated files under .codeatlas/ and apps/docs/content/reference/ report evidence. Do not hand-edit them.

Ownership layers

The arrows are conceptual composition, not import permission. Use the Dependency Graph for observed package edges.

Key boundaries:

  • Core owns Scene Documents, admitted mutations, runtime projections, and Goobits behavior.
  • Renderers consume immutable submissions and do not receive mutable CoreState.
  • Workspace Surface packages own terminal, web, document, and directory content contracts.
  • Tabby owns the complete multi-surface product and its reusable host. Workshop and custom products compose the reusable runtime without importing Tabby's product UI.
  • Access owns product authorization; authentication and transport trust remain separate concerns.

Find the owner

  1. Check the Glossary for the canonical term.
  2. Use the Public Package Catalog for the package, tier, source root, and generated API page.
  3. Read the package manifest and <package>/.codeatlas/atlas.txt.
  4. Use docs/architecture/ for subsystem contracts and accepted proposals for decision history.

Conventions

  • TypeScript is strict; Svelte uses runes; Rust owns WGPU and native runtime work.
  • Cross-package imports use exported package entrypoints.
  • WGPU means the Rust wgpu renderer. WebGPU means the browser API.
  • Public API reference is generated from source comments, manifests, Rust metadata, and OpenAPI schemas.