model · git:20261031.b3eb5dc · 2026-10-31 · sha256 d2979f0fb542ad74
model git:20261031.b3eb5dcA
Immutable. This exact content never changes and is served at /api/v1/blob/d2979f0fb542ad74.
--- name: model description: Drive BeamCraft steel detailing through the beamcraft-cli - create, update and inspect members and plates (define-profile, define-material, create-member, create-plate, update-element, inspect-elements), create and verify a store (create-project, open-revision), resolve feature addresses (list-feature, lookup-feature, element-edges), and snapshot or export views (snapshot-view, export-view). Use when the user asks to model, edit, move or list elements in a BeamCraft store, to check or create a store, to resolve a feature address, or for a view snapshot or export. The slash command /beamcraft:open launches the native viewport app separately. argument-hint: [what to do, and where] --- # Drive BeamCraft through the CLI One entry point for every BeamCraft task: model members and plates, create and verify a store, resolve features, snapshot and export views. Wrap only the `beamcraft` binary. There is no MCP server and no daemon: the CLI is the single contract, and every reference below embeds real captured output from it as acceptance evidence. ## Build the binary The plugin ships no binary. Build the CLI once from a BeamCraft checkout; every example calls it as `beamcraft`. ```sh cd <beamcraft-checkout> cargo build --offline -p beamcraft-cli --bins <beamcraft-checkout>/target/debug/beamcraft --version ``` ## House rules - **Units.** Millimetres and radians, right-handed, Z up. Never convert inside a CLI argument. - **Real runs only.** Run the real binary for every step and quote the JSON you captured. Never invent, paraphrase or simulate output. "It works" means you captured the JSON. - **Never crashes.** The CLI does not panic on input. Every refusal is one JSON object with a stable `code` and `message` and exit code 2; treat it as the normal error channel and read it. - **`--op-id` on every write.** Repeat the same id on a retry: the same id with the same arguments replays; the same id with different arguments is refused (`OP_ID_REUSE`). - **Exit codes.** 0 success, 2 input or validation refusal, 3 backend unavailable, 4 outcome unknown, 124 deadline, 130 cancelled. ## References - follow the one the task needs - `reference/store.md` - `create-project`, `open-revision`, `inspect-elements`: create a store, verify its integrity, list what it holds. - `reference/model.md` - `define-profile`, `define-material`, `create-member`, `create-plate`, `update-element`: publish definitions and model or edit elements. - `reference/pick.md` - `list-feature`, `lookup-feature`, `element-edges`: resolve feature addresses. - `reference/view.md` - `snapshot-view`, `export-view`: snapshot a scene, export a view bundle, open the native viewport. ## Apply it to the request 1. Build the `beamcraft` binary if it is not built (the command is above). 2. Ensure a store exists - `reference/store.md` shows `create-project` - and read the reference file for the task. 3. Run the real binary for every step; quote only captured JSON as evidence, and prove a write by inspecting afterwards (element ids, the new revision `sequence`, quantities).