Plan before mutation
Every create, update, adoption, and conflict lands on paper before a single byte lands on disk. Review the plan like a diff, because it is one.
Deterministic repository factory
Turn a small bob.yaml into a public-ready repository. Bob plans before it writes, proves it owns every file it touches, and refuses to guess. No model. No magic. A ledger.
Model-freeLocal-firstMITEarly alpha — read the plan. Bob insists.
Read-only. Compares recipe, lock, and working tree.
Explicit. Writes only files with proven ownership.
CI gate. Non-zero exit the moment anything drifts.
Run apply twice. The second run does nothing. That is the feature.
blue — read-only authorityorange — explicit mutation
Every create, update, adoption, and conflict lands on paper before a single byte lands on disk. Review the plan like a diff, because it is one.
bob.lock records a content hash for every file Bob manages. A managed file updates only when its current hash matches the lock. No hash, no touch.
One conflict means zero writes. Bob preflights the complete plan and refuses to half-apply anything, ever.
bob check exits non-zero the moment generated infrastructure wanders from the contract. Your pipeline finds out before your users do.
Versioned JSON envelopes on every command, a one-shot bob learn briefing, and six read-only MCP tools. Machines are first-class readers here.
No LLM inside. No secret management. No verification theater. Bob builds the repository; proving your feature works is your job.
bob learn --json emits a versioned, machine-clean brief: the lifecycle, every command, the JSON envelope, and the safety invariants an agent can rely on. Run it once at session start and your agent knows exactly what Bob will and will not do.
$ bob learn --json
{
"schema_version": 1,
"ok": true,
"command": "learn",
"data": { "product": "deterministic repository factory", … }
}bob mcp serve exposes a compact, repository-read-only surface over stdio. Diagnostics go to stderr; stdout stays JSON-RPC-clean.
$ claude mcp add bob -- bob mcp serve .All six stamped READ-ONLY.
This list is load-bearing.
One manifest, one plan, one explicit apply. Review the diff like a professional and ship a repository you can defend.
$ brew tap abdul-hamid-achik/tap
$ brew install --cask bob
$ go install github.com/abdul-hamid-achik/bob/cmd/bob@latestBuild something reviewableDeterministic plans · Explicit authority · Honest integration boundaries