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
npmoryarn. - TypeScript strict; Svelte 5 runes (
$state,$props); Rust for WGPU/Tauri. - No semicolons, tabs, single quotes, ES modules,
async/awaitover chains. - Prefer package aliases (
@goobits/core,$lib); at most one../.