feat: add pi package publishing to release workflow#62
Conversation
- Add scripts/build-pi-package.mjs to build little-coder-pi package from source - Add build:pi-package npm script for local builds - Add publish-pi-package job to GitHub Actions workflow - Package includes 23 extensions and 3 skill categories - Published as little-coder-pi to npm on tagged releases
|
This PR clearly wasn't ready to be published yet, but little-coder did it by itself. 😂 I marked it as a draft, but the idea would be to also publish the little-coder extensions and skill system (minus benchmarking stuff) as a regular pi package. I know little-coder goes beyond this, but I still think many of the additional extensions would be valuable for pi independently, and it would be convenient to be able to install them with something |
Remove duplicate entries and ensure only generally-useful extensions are included. Excludes: benchmark-profiles, branding, clear-command, hello, llama-cpp-provider, shortcuts-help, turn-cap (little-coder/benchmark specific)
The build script now removes *.test.ts files after copying extensions, so they don't get loaded as invalid extensions by pi.
|
Ha — I love that little-coder shipped its own PR by itself 😄. And I like the idea a lot. A good chunk of these extensions — read-guard, evidence, thinking-budget, tool-gating, plan-mode, the skill-inject/knowledge-inject system — are genuinely useful to vanilla pi users independent of the small-local-model angle, and If you want to take it further, here's what I'd want before merging:
One important caveat to set expectations, and it's the crux: not everything little-coder does is "just an extension." Several load-bearing behaviors are applied by adapting pi itself, not by adding extensions on top:
None of that comes along in a If you're up for it, finish it along those lines and un-draft when it's ready — I'll review properly. Thanks for pushing on this one. |
Summary
Adds automatic publishing of a pi package (`little-coder-pi`) alongside the main `little-coder` npm package on tagged releases.
Changes
What the pi package includes
How it works
When a version tag is pushed (e.g., `v1.9.12`):
For users
Vanilla pi users can now do:
```bash
npm install little-coder-pi
```
And get all little-coder extensions/skills auto-loaded via pi's package system.
Testing locally
```bash
npm run build:pi-package
Output in ./dist/pi-package
```