Development
Bob is a Go 1.26.5 module with a small VitePress documentation site and optional Glyphrun terminal contract. Building the site requires Node.js 22 or newer. Nothing here mutates a real repository; that discipline applies to Bob's own build too.
Setup
git clone https://github.com/abdul-hamid-achik/bob
cd bob
go mod download
npm --prefix docs ciRead the root AGENTS.md before changing package boundaries or safety behavior.
Verification
task verify # non-mutating canonical Go/security/build gate
task specs # terminal behavior contract
task docs-build # documentation links and production build
task ship # complete local pre-release gateUse task fmt deliberately when you want to rewrite Go formatting. Verification never formats or tidies files in place — it audits, it doesn't clean up after you.
Documentation
task docs # start the local site at 127.0.0.1
task docs-build # production build
task docs-preview # preview the production buildThe development and preview servers bind to loopback intentionally. Do not expose them with --host 0.0.0.0; the publishable documentation artifact is the static output from task docs-build.
User-facing guides and reference pages belong in docs/. Normative product behavior lives on this site's reference pages — Manifest and CLI — rather than a root SPEC.md. Design decisions and working notes stay outside this published repository. Temporary notes, handoffs, and private filesystem details do not belong in the public repository.
Live integration test
The normal test suite never reads a user's MCPHub configuration. One opt-in smoke test exercises the installed Bob binary through MCPHub's local-agent scope while isolating telemetry:
BOB_TEST_MCPHUB=1 go test ./internal/mcp -run TestMCPHubLocalAgentScopeRoute -vRun it only when Bob is installed and MCPHub has the intended local-agent route.