Skip to content

Manifest Reference

bob.yaml is a strict, human-owned product contract. Unknown fields and unsupported values are errors, not warnings. Bob will not politely ignore a typo and guess what you meant.

Complete example

yaml
schema_version: 1
recipe: go-agent-tool

product:
  name: acme-tool
  module: github.com/acme/acme-tool
  description: Agent-ready Acme CLI
  visibility: public
  license: MIT

runtime:
  language: go
  kind: cli

surfaces:
  cli: true
  json: true
  mcp: false
  studio: false

integrations:
  code_structure: codemap
  semantic_search: vecgrep
  terminal_verification: glyphrun
  browser_verification: none
  secrets: none
  artifacts: none

distribution:
  github_actions: true
  goreleaser: true
  homebrew: false
  docs: markdown

Top-level fields

FieldCurrent valueMeaning
schema_version1Selects the strict manifest schema.
recipego-agent-toolSelects the embedded repository recipe.

Product

FieldValid valuesEffect
namelowercase letter followed by lowercase letters, digits, or hyphensBinary and command directory name.
modulenon-empty Go module pathWritten to go.mod; GitHub coordinates enable GitHub-specific repository files.
descriptionnon-empty textUsed in public README and package metadata.
visibilitypublic, privatePublic is required for Homebrew in schema 1.
licenseMITSchema 1 supports MIT only.

Runtime and surfaces

The current recipe requires runtime.language: go, runtime.kind: cli, surfaces.cli: true, and surfaces.json: true.

Generated project MCP and Studio surfaces remain unsupported in schema 1, so surfaces.mcp and surfaces.studio must be false. This does not conflict with Bob itself exposing read-only MCP tools.

Integrations

FieldValuesWhat selection means
code_structurenone, codemapGenerates a structural-intelligence seam and doctor check.
semantic_searchnone, vecgrepGenerates a semantic-search seam and doctor check.
terminal_verificationnone, glyphrunGenerates a terminal behavior spec and doctor check.
browser_verificationnone, cairntraceDeclares a browser-verification seam and doctor check.
secretsnone, tinyvaultDeclares secret-safe execution availability; no secret values are stored.
artifactsnone, fcheapDeclares portable artifact storage availability.

An integration selection creates repository guidance and capability checks. It does not mean Bob ran the tool, initialized an index, or verified behavior. Bob writes the sign on the door; it doesn't open the shop.

Distribution

FieldValuesEffect
github_actionsbooleanGenerates GitHub CI; a release workflow is generated only when this and goreleaser are both true.
goreleaserbooleanGenerates GoReleaser configuration.
homebrewbooleanGenerates a Homebrew cask; requires GoReleaser, public visibility, and a GitHub module.
docsnone, markdownGenerates a Markdown documentation entry page.

Changing a field changes only files declared by the recipe. bob plan shows the exact ownership decision before bob apply writes anything.

Deterministic plans. Explicit authority. Honest integration boundaries.