Development Workflow

Table of Contents

Dev servers

Each app uses a generated fixed port. If a port is taken, stop the stale process rather than letting the server pick a new one. Current dev server commands, ports, branch hosts, and route facts are generated in Operational Reference.

Use pnpm dev when you need the production docs route at /docs. Use pnpm docs:dev only for fast Markdown authoring feedback.

Branch host router

Branch router commands, branch hosts, and smoke routes are generated in Operational Reference.

Use the generated smoke command when changing docs or route generation. It crawls the real /docs route through the branch host, so route-manifest or hydration failures show up before commit without depending on unrelated dev routes.

Committing

Tabby provides an optional commit-owner queue. With a commit-owner launch profile configured, workers submit scoped slices instead of committing directly:

pnpm shell:setup
pnpm tabby:commit request --title "<title>" --path <path> --check "<verify cmd>"
pnpm tabby:commit status
pnpm tabby:commit next
pnpm tabby:commit commit <ticket-id>

Keep commits scoped, leave unrelated local edits alone, and include a verification command with each request when practical.

Tabby opens one launch marked metadata.role=commit-owner for the ticket's target machine when it is absent. Later requests for that machine are sent to the agent already running in that tab. A tab display name such as git does not grant commit ownership. Configure one metadata-owned launch on every machine whose repositories should accept queued commits.

The server stamps each request with its workspace, machine, and canonical repository root. One exact owner terminal leases the ticket and commits at that root, even when the worker submitted it from another current directory. An identical live request is deduplicated. If the owner terminal stops, startup and recurring maintenance return its ticket to the queue for a replacement owner.

TABBY_COMMIT_OWNER=auto is the default and activates the queue only when the profile has a commit-owner launch. Set it to enabled to require that launch, or disabled to use direct scoped Git commits.

The queue is a focused optional Tabby component, not a port of the old agent workspace runtime. It owns scoped requests, queue and blocker state, owner wake/reuse, verification, and safe Git commits. Shared agent guidance remains separate, and Tabby does not add a generic pipeline, daemon, or plugin system.

For docs work, do not stage ignored generated reference output unless one command intentionally produced it with the authored guide edit.

Use the docs check matrix in Contributing to the Docs when you are deciding whether a slice belongs to authored guides, generated reference, docs-engine, or the web /docs route.

Conventions

  • pnpm only: never npm or yarn.
  • TypeScript strict; Svelte 5 runes ($state, $props); Rust for WGPU/Tauri.
  • No semicolons, tabs, single quotes, ES modules, async/await over chains.
  • Prefer package aliases (@goobits/core, $lib); at most one ../.