This directory is the durable knowledge base for San. Keep README.md
concise, use AGENTS.md as the short navigation map, and put lasting
explanations here.
../README.md— product overview, installation, usage.../AGENTS.md— short agent and contributor navigation guide.concepts/architecture.md— system-level overview and primitives.packages/index.md— per-package design pages (grouped by layer).concepts/index.md·guides/index.md·reference/index.md·operations/index.md— each category's own index.
concepts/architecture.md— primitives, runtime model, layer model.concepts/index.md— cross-cutting concepts that span multiple packages (data flow, rendering, extension model, harness channels, permission model).packages/index.md— one page per Go package, grouped by layer; each has a Contract section with the package's public Go interface.
-
reference/index.md— full reference index. Common lookups: -
reference/slash-commands.md— all slash commands. -
reference/configuration.md— config files and field reference. -
reference/dependency-rules.md— layer / import rules. -
reference/package-map.md— package-to-layer assignment. -
reference/claude-permission-compat.md— Claude-Code-compatible permission rule syntax. -
reference/token-limits.md,reference/cost-tracking.md,reference/cli-startup.md,reference/loop.md,reference/file-naming.md,reference/minmax-provider.md. -
guides/index.md— task how-tos: getting started, the inspector, explore mode, and writing skills / subagents / plugins / providers. -
operations/index.md— build, test, release, troubleshoot, benchmark, and the small-footprint rationale.
design/principles.md— engineering principles for structure and docs.design/decisions/— architecture decision records (ADRs).
Plans live at the repo root under notes/ (not in docs/):
notes/active/— active restructuring or feature plans.notes/completed/— completed plans kept for historical context.notes/tech-debt.md— known structural debt and follow-up candidates.
When code changes, update the relevant package page in packages/ in the
same pull request. When a new top-level package is added or a package
moves, update reference/package-map.md and reference/dependency-rules.md
together. New cross-cutting concept ⇒ a page in concepts/. New decision
⇒ an ADR in design/decisions/.