Index of where to look for what. This file is intentionally short — its job is to make sure you know what kinds of knowledge exist in this repo and where to find them, not to repeat that knowledge inline. Always read the linked doc before acting in its area.
| Do this | Read this first |
|---|---|
Run any script (bun run …), set up dev, iterate on the Tauri UI |
docs/commands.md |
| Touch routing, middleware, model dispatch, config, token store, diagnostics, or the Tauri sidecar | docs/architecture.md |
| Write or modify tests (especially mocks) | docs/architecture.md → Testing gotchas |
| Open a PR, change commit conventions, cut a release | docs/architecture.md → Release & PR conventions + docs/release-runbook.md |
| Spawn parallel agents / use git stash | docs/architecture.md → Parallel-agent convention |
Change .bun-version or CI's Bun pin |
docs/bun-version-policy.md |
| Write any code | docs/code-style.md |
| Touch any HTML, CSS, or component code (Tauri windows, proxy-served pages) | .design-context.md — front door; topic deep-dives in docs/design/. Read docs/design/failure-modes.md before any non-trivial UI change. |
| Work with the Claude Code or Opencode plugin | docs/plugins.md |
| Dispatch or review codegen feedback loops | docs/codegen-feedback-loops-practices.md |
Touch i18n catalogs / translation wording (shell/src/i18n/) |
docs/dev/i18n.md; loop in the i18n expert per CONTRIBUTORS.md |
docs/decisions/— architecture decision recordsdocs/spec/— feature specsdocs/dev/— developer notesdocs/admin/— operational docsdocs/*-prd.md— product requirement docs for individual surfacesresearch_log/— dated investigation notesCONTRIBUTORS.md— trusted domain experts to loop in per area
If you don't find what you need in a linked doc, search docs/ and
research_log/ before asking or inferring. Earned knowledge lives in
those files; don't reinvent it.
- Never
git stash popin a shared working tree. See architecture doc → Parallel-agent convention for why. Use a worktree for any isolated bisect. - No unrestored
mock.modulein tests —void mock.module(…)/ baremock.module(…)leak across files and are a lint error (mockModuleLeakGuard). Awaiting isn't enough for shared modules; prefer the real module (tempCOPILOT_API_HOME/CLAUDE_CONFIG_DIR) or injectable deps. See architecture doc → Testing gotchas. - PR titles are Conventional Commits (
feat:/fix:/chore:/ etc.) — squash-merge uses the title verbatim. See architecture doc → Release & PR conventions. - Pin matters.
.bun-versionand.github/workflows/ci.ymlmove together. See Bun version policy. - Design context overrides this file for any UI work. Read
.design-context.mdand the relevantdocs/design/*.mdtopic file.