Files
mesh-catalog/modules/dev-tools
mesh-admin c0726ac264
mesh/merge-gate head c0726ac2641b merged into trunk 19ecad261cf2 — pass: builds new: modules/dev-tools, sent nowhere; no bus step; every machine composes w…
mesh/repo-check head c0726ac2641b merged into trunk 19ecad261cf2 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-…
mesh/delivery delivered
dev-tools: give every node the toolchains to build and test the mesh's code (issue 626)
Every node is a development machine: an agent builds a change and runs its tests there before opening a pull request, and the lab tests it afterwards as QA. No module declared Go or npm, so no node could do the first part.
2026-10-13 11:42:12 +00:00
..

dev-tools

The tools a machine needs to develop the mesh's own code (novox/hq issue 626). Every node is a development machine: an agent working on a change builds it and runs its tests there, with these tools, before it opens a pull request. The lab is the QA step after that: it tests the work in a sandbox, through its seat at the mesh scope, and is not where development happens.

Assign it to every node.

Owns

what package class (ADR 0182)
the Go toolchain, for go build and go test in every Go module go package
a C compiler, for go test -race and cgo gcc package
make make package
Node.js and npm, for the TypeScript modules' npm ci and npm test nodejs, npm package
Python, for the scripts some checks run python package
git and jq git, jq package

All are in the distribution's official repositories, so the node-engine's package manager installs them on any node. The versions are the distribution's: the toolchain images that run mesh/repo-check stay the judge of a pull request, and a local run is the developer's early answer, not the verdict.

Nothing else is placed: no file, no service, no environment. A module's own dependencies come from its lock file (go.mod, package-lock.json), as in the toolchain images.