@paniolo/wiki
v0.3.4
Published
Native wiki-io corpus tooling (CLI + MCP server), distributed as per-platform npm packages.
Readme
@paniolo/wiki
npm distribution of the native wiki-io corpus tooling — read-only diagnostics
over a single wiki or every wiki in a paniolo.config.json wiki section. The
package ships two binaries:
wiki-io— the CLI (terminal / JSON output); the multi-wiki validation gate.wiki-io-mcp— the MCP server the Paniolo harness registers.
The binaries are not bundled in this package and are not downloaded at
install time. Instead, each platform's pair of binaries ships as its own optional
dependency (@paniolo/wiki-<platform>-<arch>), and npm installs only the one
matching your os/cpu. This is the same model used by esbuild, swc, and Biome:
no postinstall network call, works with --ignore-scripts, and is lockfile- and
offline-cache friendly.
Usage
npx -p @paniolo/wiki wiki-io --help # corpus diagnostics CLI
npx -p @paniolo/wiki wiki-io-mcp # MCP server (stdio)Supported platforms
| Package | os | cpu |
| --- | --- | --- |
| @paniolo/wiki-linux-x64 | linux | x64 |
| @paniolo/wiki-linux-arm64 | linux | arm64 |
| @paniolo/wiki-win32-x64 | win32 | x64 |
| @paniolo/wiki-win32-arm64 | win32 | arm64 |
| @paniolo/wiki-darwin-x64 | darwin | x64 |
| @paniolo/wiki-darwin-arm64 | darwin | arm64 |
Both binaries are pure Rust (no llama.cpp), so every target cross-compiles from a single Windows + WSL workstation — see docs/cross-building.md.
Publishing (maintainers)
Binaries are produced separately (in CI, or locally from WSL), then dropped into each platform package and published. The platform binaries are gitignored.
# 1. Bump the version in npm/paniolo-wiki/package.json, then regenerate the
# per-platform manifests + the wrapper's optionalDependencies from the single
# target list in npm/scripts/tools.mjs:
node npm/scripts/gen-packages.mjs --tool wiki # or --check to verify, no writes
# 2. Build both binaries for every target into <repo>/dist (from WSL):
bash scripts/build-binaries.sh --tool wiki
# 3. Copy them into the platform packages:
node npm/scripts/stage-binaries.mjs --tool wiki
# 4. Verify host resolution end-to-end (packs + installs into a temp project):
node npm/scripts/pack-smoke.mjs --tool wiki
# 5. Publish each staged platform package, then the wrapper last:
node npm/scripts/publish.mjs --tool wikiAlways publish the platform packages before the wrapper so the wrapper's
optional dependencies resolve on first install. The version lives in
npm/paniolo-wiki/package.json only — gen-packages.mjs propagates it to the
platform packages and the optionalDependency pins (keep it matching the
paniolo-wiki-cli / paniolo-wiki-mcp crate versions). The supported-platforms
table and the launchers' platform set both derive from tools.mjs, so adding a
platform is a one-line edit there plus a regenerate.
