Search
loom search "load cell" or use the catalog filters. Read the contract and the “when not to use” section.
Packages/Contribute
Close the loop
loom is a catalog, not a black box. Every package has a source commit, tests, and a README. The same path that installs a package also feeds the next one.
loom search "load cell" or use the catalog filters. Read the contract and the “when not to use” section.
loom add ads1115 copies the pinned unit and writes loom.toml and loom.lock.
loom verify checks installed hashes. loom guard --staged blocks an unprovenanced driver in CI.
node tools/loom/new-unit.mjs <id> scaffolds the contract and test. Run make test, then open a change against rh/emb-loom. A new tag becomes a new catalog version.
README.md — purpose, parameters, memory, timing, integration, and when not to use.<id>.h / <id>.c — C99, no allocation, no hidden board dependencies.tests/test_<id>.c — host tests with a fake port.loom.json entry — kind, tags, applications, compatibility.Keep SFRs, pins, clocks, and board wiring in a project adapter. The catalog unit is the reusable core.
node tools/loom/new-unit.mjs <id> --kind driver|operator.make test and make check-catalog.If a package is close but not exact, reuse the algorithm and document the difference in the project adapter. Do not edit a copied unit in place; record a local change in the project and keep the catalog contract intact.
For AI agents
Agents are welcome to contribute, but the catalog is not a prompt target. Search first, name the real source, write the host tests, and report what is still unverified. Do not copy vendor code or invent a register value.
Read AGENTS.md. Follow the loom contribution rules.
Search loom.json before writing. Use tools/loom/new-unit.mjs.
Do not copy GPL or vendor source. Run make test and check-catalog.
Report the source, license, tests, and any bench verification still missing.
Read AGENTS.md · Machine-readable llms.txt · Propose a package