{"_id":"@alasano/pi-forcefeed","_rev":"3-4938ca33da4b1658939b4eab87b09991","name":"@alasano/pi-forcefeed","dist-tags":{"latest":"0.1.1"},"versions":{"0.0.1":{"name":"@alasano/pi-forcefeed","version":"0.0.1","keywords":["pi-package"],"license":"MIT","_id":"@alasano/pi-forcefeed@0.0.1","maintainers":[{"name":"alasano","email":"aljosa.a@gmail.com"}],"homepage":"https://github.com/alasano/house-of-pi#readme","bugs":{"url":"https://github.com/alasano/house-of-pi/issues"},"pi":{"image":"https://raw.githubusercontent.com/alasano/house-of-pi/master/packages/pi-forcefeed/assets/pi-forcefeed.png","extensions":["./extensions"]},"dist":{"shasum":"60dcfcfd9929ce84778b091fbe0969053487db47","tarball":"https://registry.npmjs.org/@alasano/pi-forcefeed/-/pi-forcefeed-0.0.1.tgz","fileCount":5,"integrity":"sha512-eVuUdFTzYXD0XJGdDoISHsaiTUB2++AmwLUHUXicnkORrOMWLqUGz4AKimuJ65/uYFwPbwIo7KBneTdcl2l83w==","signatures":[{"sig":"MEQCIBdWSTPPnnJq+Cood+KqcLBQScU2jFss8c7ID2b83ET6AiBuAXj0o+CzirhuHu/QoWRmCQrXiSE3dfyd2Q+cPLn6EQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2224878},"type":"module","engines":{"node":">=22"},"gitHead":"dd7fce128a20c34083221d55461305e1f40cf1bd","scripts":{"typecheck":"tsc --noEmit"},"_npmUser":{"name":"alasano","email":"aljosa.a@gmail.com"},"repository":{"url":"git+https://github.com/alasano/house-of-pi.git","type":"git","directory":"packages/pi-forcefeed"},"_npmVersion":"11.12.1","description":"Force-feed complete files into pi conversation context without read-tool truncation","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"@mariozechner/pi-tui":"^0.73.0","@mariozechner/pi-coding-agent":"^0.73.0"},"peerDependencies":{"@mariozechner/pi-tui":"*","@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-forcefeed_0.0.1_1778191738807_0.7964941341399374","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@alasano/pi-forcefeed","version":"0.1.0","keywords":["pi-package"],"license":"MIT","_id":"@alasano/pi-forcefeed@0.1.0","maintainers":[{"name":"alasano","email":"aljosa.a@gmail.com"}],"homepage":"https://github.com/alasano/house-of-pi#readme","bugs":{"url":"https://github.com/alasano/house-of-pi/issues"},"pi":{"image":"https://raw.githubusercontent.com/alasano/house-of-pi/master/packages/pi-forcefeed/assets/pi-forcefeed.png","extensions":["./extensions"]},"dist":{"shasum":"65bb651228efabf08c30c1e93a414adb680d8fe9","tarball":"https://registry.npmjs.org/@alasano/pi-forcefeed/-/pi-forcefeed-0.1.0.tgz","fileCount":5,"integrity":"sha512-/0CF9gqmjDGA1hRDv/kur/aWyfHgD3KTC7frpafyzMBRWKgQWjYwEc4Vi5fHcbytHKD6Jq75zgrd5paNRGaoaQ==","signatures":[{"sig":"MEYCIQCHpMpHsbGLilzZX2Xjig8t4MyxLZ76Xz4aX7B9jTt0RQIhANdI3ZQUNNopVbDWftmJa0g01vGDZ5WWVpZYjVIQ29N0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alasano%2fpi-forcefeed@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2224878},"type":"module","engines":{"node":">=22"},"gitHead":"1c66f0a7aa64f9e510257a7a54a2e77a4c98a5fd","scripts":{"typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1324fd96-ea87-40dd-95f1-8fe08bcd4cec"}},"repository":{"url":"git+https://github.com/alasano/house-of-pi.git","type":"git","directory":"packages/pi-forcefeed"},"_npmVersion":"11.11.0","description":"Force-feed complete files into pi conversation context without read-tool truncation","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"@mariozechner/pi-tui":"^0.73.0","@mariozechner/pi-coding-agent":"^0.73.0"},"peerDependencies":{"@mariozechner/pi-tui":"*","@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-forcefeed_0.1.0_1778192303055_0.7412650400727128","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@alasano/pi-forcefeed","version":"0.1.1","description":"Force-feed complete files into pi conversation context without read-tool truncation","keywords":["pi-package"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alasano/house-of-pi.git","directory":"packages/pi-forcefeed"},"type":"module","engines":{"node":">=22"},"scripts":{"typecheck":"tsc --noEmit"},"pi":{"extensions":["./extensions"],"image":"https://raw.githubusercontent.com/alasano/house-of-pi/master/packages/pi-forcefeed/assets/pi-forcefeed.png"},"peerDependencies":{"@earendil-works/pi-coding-agent":">=0.79.9","@earendil-works/pi-tui":">=0.79.9"},"devDependencies":{"@earendil-works/pi-coding-agent":"^0.79.9","@earendil-works/pi-tui":"^0.79.9"},"gitHead":"cf30f385a74053589e2582b5180e671f5373f377","_id":"@alasano/pi-forcefeed@0.1.1","bugs":{"url":"https://github.com/alasano/house-of-pi/issues"},"homepage":"https://github.com/alasano/house-of-pi#readme","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-3pOANLqfncVAl1yT8t4lO5P2/Y0WtKKdpP06Rdr4mDtyXOEB2VaaE7x8eHqpCMnXHg9ohfH5IkFNnbh5e+JIbA==","shasum":"785740eaf23d9718003097442ca0148264c61118","tarball":"https://registry.npmjs.org/@alasano/pi-forcefeed/-/pi-forcefeed-0.1.1.tgz","fileCount":5,"unpackedSize":2224906,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alasano%2fpi-forcefeed@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA3typ265QHabYgMYByZlxPR1ATuZB3khCetV8sRQMaJAiEAtKxAIYrv19AdaIjt0bcllZ6Q9einxKXY0g0mrh3KBtg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1324fd96-ea87-40dd-95f1-8fe08bcd4cec"}},"directories":{},"maintainers":[{"name":"alasano","email":"aljosa.a@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-forcefeed_0.1.1_1782011240975_0.30090733807978265"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-07T22:08:58.675Z","modified":"2026-06-21T03:07:21.435Z","0.0.1":"2026-05-07T22:08:59.032Z","0.1.0":"2026-05-07T22:18:23.274Z","0.1.1":"2026-06-21T03:07:21.176Z"},"bugs":{"url":"https://github.com/alasano/house-of-pi/issues"},"license":"MIT","homepage":"https://github.com/alasano/house-of-pi#readme","keywords":["pi-package"],"repository":{"type":"git","url":"git+https://github.com/alasano/house-of-pi.git","directory":"packages/pi-forcefeed"},"description":"Force-feed complete files into pi conversation context without read-tool truncation","maintainers":[{"name":"alasano","email":"aljosa.a@gmail.com"}],"readme":"# pi-forcefeed\n\n<p align=\"center\">\n  <img src=\"assets/pi-forcefeed.png\" alt=\"pi-forcefeed\" width=\"600\" />\n</p>\n\n<p align=\"center\">\n  <img src=\"assets/screenshot.png\" alt=\"pi-forcefeed screenshot\" width=\"816\" />\n</p>\n\nForce-feed complete files into [pi](https://pi.dev) conversation context without using the built-in `read` tool's truncation.\n\nUse this when you intentionally want to put one or more whole files into the model context and are willing to own the provider/model context-window risk.\n\n## Install\n\n```bash\npi install npm:@alasano/pi-forcefeed\n```\n\n## Commands\n\n| Command                 | Description                                          |\n| ----------------------- | ---------------------------------------------------- |\n| `/forcefeed <path...>`  | Inject one or more complete files into context       |\n| `/forcefeed @<path...>` | Same command, with Pi's built-in `@` path completion |\n\nExamples:\n\n```text\n/forcefeed README.md\n/forcefeed @README.md @examples/harness/README.md\n/forcefeed ./docs/notes.md /absolute/path/to/file.ts\n```\n\n## Behavior\n\n- Accepts relative paths from the current Pi working directory.\n- Accepts absolute paths.\n- Accepts an optional leading `@` per path.\n- Accepts quoted paths with spaces.\n- Reads files as UTF-8 text.\n- Sends one custom message containing all successfully read files.\n- Renders one compact `[forcefeed]` line per file in the UI.\n- Does not impose a file-size limit; provider/model context limits still apply.\n\nThe model receives start/end markers around every file:\n\n```text\n<<<PI_FORCEFEED_FILE_CONTENT_START path/to/file>>>\n...\n<<<PI_FORCEFEED_FILE_CONTENT_END path/to/file>>>\n```\n\nIf one file fails, `pi-forcefeed` still injects the files it could read and shows an error notification for the failed paths.\n\n## Autocomplete\n\n- `@` paths use Pi's built-in file autocomplete.\n- Bare command arguments also provide simple path completion for `/forcefeed <path>`.\n- Multi-path bare completion preserves earlier paths while completing the current path token.\n\n## Requirements\n\n- Pi with extension support.\n- Node.js 22 or newer.\n\n## Limitations\n\n`pi-forcefeed` bypasses Pi's `read` truncation, not model/provider context limits. Very large files or many files can still make a request too large, slow, or expensive.\n","readmeFilename":"README.md"}