@tinoy/pi-build
v0.4.0
Published
Run a build, compile, lint or typecheck command with bounded output, and report the exit code, the error lines and the log path.
Readme
[!WARNING] Do not install anything here yet.
This is a fast-moving prototype: the interfaces change without notice, and nothing here is stable. Every package in this project is headed for a stable 1.0, but that is still some way off. Install one only if you intend to follow the code and expect breakage.
@tinoy/pi-build
Run a build, compile, lint or typecheck command with bounded output, and report the exit code, the error lines and the log path.
pi install npm:@tinoy/pi-buildWhat it needs at call time
a shell and the toolchain the command itself uses. Nothing is probed at load, and an unknown command is the command's own failure, reported with its exit code.
Registers
build
Crew isolation
A crew worker's build runs against that worker's own output, cache and temporary directories,
exported into the spawned environment so two workers never contend on target/,
node_modules or a bundle output tree. The store that holds those roots belongs to the
io-guard package (@tinoy/pi-io-guard — ioRoot() in claims.ts, identityHolder() in
identity.ts), and this package reaches it through a guarded dynamic import resolved on the
first build call — never at load.
Without that package the tool still works: the build runs with the session's own environment and
its log goes to /tmp/pi-build-logs, and the absence is reported once by name on the diagnostics
log, with the install hint. @tinoy/pi-io-guard is declared as an optional peer, so npm never
installs it for you and never fails because it is missing.
Works better with
| Neighbour | You gain | You lose without it | Install |
| --- | --- | --- | --- |
| @tinoy/pi-io-guard | a crew worker's build runs against its own output, cache and temp tree, which no other worker shares | every build runs in the shared session environment and its log lands under /tmp/pi-build-logs | pi install npm:@tinoy/pi-io-guard |
Caveats
One soft neighbour: @tinoy/pi-io-guard, described under "Crew isolation" above and declared
in the table.
Dependencies
pi-supplied imports (@earendil-works/pi-coding-agent, typebox) are peer dependencies with a * range and are
never bundled. @tinoy/pi-io-guard is an optional peer. Plain dependencies: @tinoy/pi-ext-lib.
Licence
MIT — see the repository LICENSE.
