Documentation
¶
Overview ¶
Package buildermesh embeds the files of this repo that the bmesh binary hands to other repos: the paragraph a repo's AGENTS.md gets, the README of a proposals directory and the example routine kinds. They stay in the repo for reading and are embedded from there, so the two never differ.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var AgentsSnippet string
AgentsSnippet is docs/agents-snippet.md: the buildermesh paragraph for a repo's AGENTS.md, with its bracketed verify placeholder.
View Source
var Examples embed.FS
Examples holds examples/routines/<kind>.toml, the kinds a repo is seeded with.
View Source
var ProposalsReadme string
ProposalsReadme is docs/proposals/README.md: what a proposals directory holds and the lifecycle of a spec.
Functions ¶
This section is empty.
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package addons holds the optional parts compiled into bmesh, one package each under addons/.
|
Package addons holds the optional parts compiled into bmesh, one package each under addons/. |
|
t3done
Package t3done is the t3-done add-on: it posts to ntfy when a T3 thread a person started on this box is done, failed or asking, read from T3's own database since T3's API doesn't say whether a turn left a background task pending.
|
Package t3done is the t3-done add-on: it posts to ntfy when a T3 thread a person started on this box is done, failed or asking, read from T3's own database since T3's API doesn't say whether a turn left a background task pending. |
|
cmd
|
|
|
bmesh
command
Command bmesh is the buildermesh CLI: nodes report events, message each other and watch the mesh through it.
|
Command bmesh is the buildermesh CLI: nodes report events, message each other and watch the mesh through it. |
|
internal
|
|
|
brief
Package brief renders the briefs the mesh hands its threads: the engineer and UI/UX engineer briefs of a proposal round, the build brief of a lead and the half-pager a spec is written as.
|
Package brief renders the briefs the mesh hands its threads: the engineer and UI/UX engineer briefs of a proposal round, the build brief of a lead and the half-pager a spec is written as. |
|
checkout
Package checkout makes and moves the clean detached worktrees that routine instances run in.
|
Package checkout makes and moves the clean detached worktrees that routine instances run in. |
|
config
Package config reads bmesh's config.toml: schema, discovery and defaults.
|
Package config reads bmesh's config.toml: schema, discovery and defaults. |
|
daemon
Package daemon holds the bmesh daemon's loops: it keeps each lead's runner sample current, wakes idle leads with unread mail, marks quiet nodes silent, and runs the routine kinds of the repos in [repos].
|
Package daemon holds the bmesh daemon's loops: it keeps each lead's runner sample current, wakes idle leads with unread mail, marks quiet nodes silent, and runs the routine kinds of the repos in [repos]. |
|
hosts
Package hosts is the mesh's membership and proof: the admin's signed roster, signed jobs and replies between boxes, presence, the one-time invite and the keys behind them.
|
Package hosts is the mesh's membership and proof: the admin's signed roster, signed jobs and replies between boxes, presence, the one-time invite and the keys behind them. |
|
instance
Package instance runs routine jobs: a shell command, or a claude -p session that persists across jobs.
|
Package instance runs routine jobs: a shell command, or a claude -p session that persists across jobs. |
|
kind
Package kind reads routine kind files: the TOML a repo keeps under .bmesh/routines/ to say how a routine runs.
|
Package kind reads routine kind files: the TOML a repo keeps under .bmesh/routines/ to say how a routine runs. |
|
level
Package level brings one checkout level with its origin (020): it fetches, judges the checkout against origin/<branch> (or a pinned tag), fast-forwards a box that is behind, pushes one that is ahead when the push gate allows, and refreshes the plugins sessions load from it.
|
Package level brings one checkout level with its origin (020): it fetches, judges the checkout against origin/<branch> (or a pinned tag), fast-forwards a box that is behind, pushes one that is ahead when the push gate allows, and refreshes the plugins sessions load from it. |
|
merge
Package merge resolves the conflict regions of a three-way text merge by rule, and leaves a region no rule resolves a conflict.
|
Package merge resolves the conflict regions of a three-way text merge by rule, and leaves a region no rule resolves a conflict. |
|
mesh
Package mesh holds the NATS names, paths and clients of the bmesh mesh.
|
Package mesh holds the NATS names, paths and clients of the bmesh mesh. |
|
meshtest
Package meshtest starts an embedded NATS server for tests.
|
Package meshtest starts an embedded NATS server for tests. |
|
nix
Package nix removes a repo's checkout from a box (023): the admin's signed nix job names a repo and the origin its registry row has, the box takes the path from its own registry row and refuses, touching nothing, anything whose loss couldn't be undone from a remote.
|
Package nix removes a repo's checkout from a box (023): the admin's signed nix job names a repo and the origin its registry row has, the box takes the path from its own registry row and refuses, touching nothing, anything whose loss couldn't be undone from a remote. |
|
notify
Package notify posts a notification: to an ntfy URL over HTTP, or through a command (the test hook config.toml's notify command names).
|
Package notify posts a notification: to an ntfy URL over HTTP, or through a command (the test hook config.toml's notify command names). |
|
proc
Package proc puts a command in its own process group and kills the group, so no descendant outlives a run: Setpgid and kill(-pid) on Unix, a new process group and taskkill /T on Windows.
|
Package proc puts a command in its own process group and kills the group, so no descendant outlives a run: Setpgid and kill(-pid) on Unix, a new process group and taskkill /T on Windows. |
|
prune
Package prune removes the worktrees and branches a finished node leaves behind on this box: one node's (`node forget --worktree`, the forget-worktree op) or a whole checkout's (the prune op).
|
Package prune removes the worktrees and branches a finished node leaves behind on this box: one node's (`node forget --worktree`, the forget-worktree op) or a whole checkout's (the prune op). |
|
runner
Package runner starts and observes the agent sessions behind nodes: a T3 Code thread (T3), claude in a tmux window (Tmux) or headless claude -p turns (Claude).
|
Package runner starts and observes the agent sessions behind nodes: a T3 Code thread (T3), claude in a tmux window (Tmux) or headless claude -p turns (Claude). |
|
runner/t3mcp
Package t3mcp speaks to T3 Code's MCP endpoint (/mcp: streamable HTTP, JSON-RPC, the mcp-session-id header) and holds the sign-in that endpoint needs: the OAuth login that mints a token and the file it is kept in.
|
Package t3mcp speaks to T3 Code's MCP endpoint (/mcp: streamable HTTP, JSON-RPC, the mcp-session-id header) and holds the sign-in that endpoint needs: the OAuth login that mints a token and the file it is kept in. |
|
runner/t3mcp/t3fake
Package t3fake is an httptest T3 Code server for tests: the environment document, the MCP OAuth endpoints and the MCP tools the t3 runner calls, answering with the shapes recorded from a T3 0.1.0 server (kept in testdata/t3v2).
|
Package t3fake is an httptest T3 Code server for tests: the environment document, the MCP OAuth endpoints and the MCP tools the t3 runner calls, answering with the shapes recorded from a T3 0.1.0 server (kept in testdata/t3v2). |
|
scaffold
Package scaffold gives a ship repo what a buildermesh build expects of it: the "Definition of done", "Proposals" and "Buildermesh" sections of its AGENTS.md between markers, and its "Engineering rules" block (rules.go), docs/proposals/README.md and assets/.gitkeep, the routine kinds its registry row names, seeded from the embedded examples, and the row's setup as .bmesh/config.toml's [setup].
|
Package scaffold gives a ship repo what a buildermesh build expects of it: the "Definition of done", "Proposals" and "Buildermesh" sections of its AGENTS.md between markers, and its "Engineering rules" block (rules.go), docs/proposals/README.md and assets/.gitkeep, the routine kinds its registry row names, seeded from the embedded examples, and the row's setup as .bmesh/config.toml's [setup]. |
|
selfupdate
Package selfupdate builds bmesh from a checkout of its repo's main and swaps the result in for a binary, keeping the one it replaces beside it.
|
Package selfupdate builds bmesh from a checkout of its repo's main and swaps the result in for a binary, keeping the one it replaces beside it. |
|
setup
Package setup runs a repo's setup command (its .bmesh/config.toml setup) in a worktree: what installs the dependencies the repo gitignores, which a fresh `git worktree add` lacks.
|
Package setup runs a repo's setup command (its .bmesh/config.toml setup) in a worktree: what installs the dependencies the repo gitignores, which a fresh `git worktree add` lacks. |
|
shell
Package shell runs a command line through the platform's shell: sh on Unix, cmd on Windows.
|
Package shell runs a command line through the platform's shell: sh on Unix, cmd on Windows. |
|
spec
Package spec finds a spec on the project's main branch and reads its frontmatter, with the same rules as tools/proposals.py.
|
Package spec finds a spec on the project's main branch and reads its frontmatter, with the same rules as tools/proposals.py. |
|
upgrade
Package upgrade reads a release's upgrade notes, docs/upgrading/<tag>.toml in bmesh's own repo: the steps an install from the release before needs, distilled by the coordinator from the Upgrading sections of the specs the release carries.
|
Package upgrade reads a release's upgrade notes, docs/upgrading/<tag>.toml in bmesh's own repo: the steps an install from the release before needs, distilled by the coordinator from the Upgrading sections of the specs the release carries. |
|
web
Package web serves the map: a page, the JSON it reads (the node tree, a lead's page, the routines and the strip) and the mesh's events as server-sent events.
|
Package web serves the map: a page, the JSON it reads (the node tree, a lead's page, the routines and the strip) and the mesh's events as server-sent events. |
|
scripts
|
|
|
seed
command
Command seed fills a scratch mesh (scripts/seed.sh runs it against a throwaway bmesh serve) with every state the map draws: two live leads and their executors (working, asking, done and one idle), a held lead, a landing lead (ready, its box's daemon landing it), a done lead for the shelf, a silent lead, an orphan, a round and its two engineers (one blocked), a pooled routine kind with instances in two repos and three spent fresh runs, a queued job, a few events and messages, two leases, a result and a daemon digest, and writes the quota fixture the seeded config's quota command reads (-quota).
|
Command seed fills a scratch mesh (scripts/seed.sh runs it against a throwaway bmesh serve) with every state the map draws: two live leads and their executors (working, asking, done and one idle), a held lead, a landing lead (ready, its box's daemon landing it), a done lead for the shelf, a silent lead, an orphan, a round and its two engineers (one blocked), a pooled routine kind with instances in two repos and three spent fresh runs, a queued job, a few events and messages, two leases, a result and a daemon digest, and writes the quota fixture the seeded config's quota command reads (-quota). |
Click to show internal directories.
Click to hide internal directories.