{"_id":"@cheriki/pi-cymbal","name":"@cheriki/pi-cymbal","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@cheriki/pi-cymbal","version":"0.1.0","description":"Standalone Pi extension exposing bundled Cymbal code navigation tools.","type":"module","license":"MIT","author":{"name":"Milad Cheriki"},"homepage":"https://github.com/miladcheriki/pi-cymbal-standalone#readme","repository":{"type":"git","url":"git+https://github.com/miladcheriki/pi-cymbal-standalone.git"},"bugs":{"url":"https://github.com/miladcheriki/pi-cymbal-standalone/issues"},"keywords":["pi-package","pi","pi-coding-agent","cymbal","code-navigation","agent-tools"],"pi":{"extensions":["./src/index.ts"]},"scripts":{"vendor":"node scripts/vendor-cymbal.mjs","typecheck":"tsc --noEmit","test":"node --import tsx --test test/*.test.mjs","pack:check":"npm pack --dry-run","validate":"npm run typecheck && npm test && npm run pack:check"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*","typebox":"*"},"devDependencies":{"@earendil-works/pi-ai":"^0.78.0","@earendil-works/pi-coding-agent":"^0.78.0","@types/node":"^24.0.0","tsx":"^4.20.0","typebox":"^1.1.39","typescript":"^5.9.3"},"engines":{"node":">=22.14.0"},"publishConfig":{"access":"public"},"_id":"@cheriki/pi-cymbal@0.1.0","gitHead":"e289b01505554f779dda2631d8dbf0e64bd05c6c","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-Jk1QGXipB742/NwUMffeSnw5XaUkNM/+pRAmSAq2DU8HSw9m4QXjWMHfD4MwlVSMfYjL8THsCKXLz7gCPa0caA==","shasum":"2662a1898683b5b4600ca4089e361af3f146209f","tarball":"https://registry.npmjs.org/@cheriki/pi-cymbal/-/pi-cymbal-0.1.0.tgz","fileCount":23,"unpackedSize":184273096,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC28fl+NFrfmq/9sBdH5jKmg9ZFQ0AgExVqMpWvtR/sCQIhAMAvrxYRgWOMPM+2JO/iSzNbmkcXb807R0Rx91uxxom1"}]},"_npmUser":{"name":"cheriki","email":"milad.cheriki@gmail.com"},"directories":{},"maintainers":[{"name":"cheriki","email":"milad.cheriki@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-cymbal_0.1.0_1780236426027_0.8634190961836192"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-31T14:07:05.894Z","0.1.0":"2026-05-31T14:07:06.624Z","modified":"2026-05-31T14:07:06.879Z"},"maintainers":[{"name":"cheriki","email":"milad.cheriki@gmail.com"}],"description":"Standalone Pi extension exposing bundled Cymbal code navigation tools.","homepage":"https://github.com/miladcheriki/pi-cymbal-standalone#readme","keywords":["pi-package","pi","pi-coding-agent","cymbal","code-navigation","agent-tools"],"repository":{"type":"git","url":"git+https://github.com/miladcheriki/pi-cymbal-standalone.git"},"author":{"name":"Milad Cheriki"},"bugs":{"url":"https://github.com/miladcheriki/pi-cymbal-standalone/issues"},"license":"MIT","readme":"# pi-cymbal\n\nStandalone Pi extension for Cymbal code navigation.\n\n`@cheriki/pi-cymbal` bundles Cymbal `v0.13.5` binaries for macOS arm64/x64\nand Linux arm64/x64. Users install one Pi package:\n\n```sh\npi install npm:@cheriki/pi-cymbal\n```\n\nBefore the npm package is published, install directly from GitHub:\n\n```sh\npi install git:github.com/miladcheriki/pi-cymbal-standalone\n```\n\nNo Homebrew, Go, or separate Cymbal install is required. Windows is not bundled\nin this release.\n\nSecurity note: Pi packages execute local code. This package includes prebuilt\nCymbal binaries pinned to `v0.13.5`; the vendoring script verifies upstream\nrelease checksums, the repository tracks checksums for the extracted binaries,\nand bundled license notices are included in `THIRD_PARTY_NOTICES.md`.\n\n## Tools\n\n| Pi tool | Cymbal command |\n| --- | --- |\n| `cymbal_investigate` | `cymbal investigate <symbol>` |\n| `cymbal_search` | `cymbal search <query>` |\n| `cymbal_show` | `cymbal show <target>` |\n| `cymbal_outline` | `cymbal outline <file>` |\n| `cymbal_refs` | `cymbal refs <symbol>` |\n| `cymbal_graph` | `cymbal trace|impact|importers|impls <target> --graph` |\n| `cymbal_structure` | `cymbal structure` |\n| `cymbal_index` | `cymbal index [path]` |\n\nThe tool names are prefixed to avoid collisions with generic Pi tools and\nother code navigation packages.\n\n## Slash Command\n\n`/cymbal status` shows the current platform, bundled binary path, binary source,\nand Cymbal version.\n\n`/cymbal remind` runs:\n\n```sh\ncymbal hook remind --format=text\n```\n\n`/cymbal config` shows default limits, timeouts, and binary source.\n\n## Binary Resolution\n\nFor local development, set `PI_CYMBAL_BIN` to override the bundled binary:\n\n```sh\nexport PI_CYMBAL_BIN=/absolute/path/to/cymbal\n```\n\nWithout the override, `pi-cymbal` selects the bundled binary for\n`process.platform` and `process.arch`.\n\nSupported bundled platforms:\n\n- `darwin-arm64`\n- `darwin-x64`\n- `linux-arm64`\n- `linux-x64`\n\nUnsupported platforms return a clear tool error.\n\nThe package intentionally ships all supported macOS/Linux binaries in one npm\ntarball so `pi install npm:@cheriki/pi-cymbal` works without a separate\nCymbal install. The package is large because of those bundled binaries.\n\n## Output\n\nTools default to Cymbal's agent-native text output. Pass `json: true` on tools\nwhere structured output is useful.\n\nLarge outputs are capped before returning to the model. The truncation note\nsuggests narrowing the symbol/path, lowering a limit, or using graph limits.\n\nOn very large repositories, the first Cymbal call may spend time building the\nSQLite index. If a normal tool times out on first use, run `cymbal_index` once\nfrom Pi and retry the original request.\n\n## Development\n\n```sh\nnpm install\nnpm run vendor\nnpm run validate\n```\n\nLocal Pi smoke test:\n\n```sh\npi install .\n/reload\n```\n\nThen ask Pi to use `cymbal_investigate` in a Git repository.\n\n## Publishing\n\nThe npm package is scoped as `@cheriki/pi-cymbal` to avoid conflicting\nwith the existing unscoped `pi-cymbal` package.\n\nThe included GitHub Actions workflows validate pull requests and publish on\nrelease when npm trusted publishing is configured.\n\n## License\n\nMIT. See `THIRD_PARTY_NOTICES.md` for bundled Cymbal notices.\n","readmeFilename":"README.md","_rev":"1-3807e31317ee433e1821d0be278b57c6"}