- Use Zig 0.16.0, Node.js 24, and Bun 1.3.14.
- Bun is used for development and packaging, while Node.js is used for publishing and the small platform launcher; all linting executes in the bundled Zig binary.
- Treat
package.jsonas the sole source of truth for the release version. Keepbuild.zig.zonat the neutral0.0.0placeholder and derive build/test/package expectations frompackage.json. - Never change the
build.zig.zonfingerprint.
Run bun run validate after source, build, test, packaging, or workflow changes. For packaging changes, also run the release build, package scripts, and bun run package:smoke. Run git diff --check before handoff. Do not weaken tests to make validation pass.
If the global Zig cache is not writable, set ZIG_GLOBAL_CACHE_DIR to a directory under /tmp.