Migrate pi extensions past Pi v0.51.0 breaking changes
Session from pi-extensions-sessions on Hugging Face by thomasmustier · MIT · condensed by Coders Talk
Review upstream Pi (pi-mono) changes to figure out what breaks the developer's custom extensions (a new built-in /files command and a tool execute signature change), then fix, version, and publish the affected extensions.
- +0Prompt · +0Review pi-mono's latest changes: a new /files command conflicts with our extension, and there are breaking changes to extensions we need to identify and handle.
- +0mAgent did · +0mExplored pi-mono repo structure, changelog, and source to locate the new /files command and search for extension-related breaking changes.
- +0mPrompt · +0mWe need to ff our local fork
- +0mAgent did · +0mFetched and fast-forwarded the fork to upstream/main, found the new .pi/extensions/files.ts, read the v0.51.0 changelog's Breaking Changes section, and audited all local extensions (files-widget, ralph-wiggum, control, agent-guidance) against the new tool execute signature and removed systemPromptAppend API.
- +3mPrompt · +3mRename to /readfiles; also asked if there were other breaking changes or typing requirements beyond what was found.
- +4mPrompt · +4mImplement the fixes, commit/push, then bump versions, update release notes, and publish per RELEASING.md.
- +4mAgent did · +4mRenamed /files to /readfiles in files-widget, updated execute signatures in ralph-wiggum, migrated agent-guidance off systemPromptAppend, bumped versions and changelogs across four packages, committed, pushed, published all four to npm, and pushed git tags.
- +8mPrompt · +8mCheck whether the README, personal website, and GitHub profile need updating for the /files -> /readfiles rename.
- +8mAgent did · +8mSearched for /files references across pi-extensions README, personal website, and tmustier-profile; updated references found in pi-extensions and files-widget READMEs and tmustier-profile README, then committed and pushed.
- +9mFail · +9mPush to tmustier-profile failed: the repo was in a detached HEAD mid-rebase state and the push was rejected as diverged from origin.
- +9mAgent did · +9mAborted the rebase, reset the branch to origin/main, reapplied the README edit, and successfully committed and pushed the fix.
- +9mOutcome · +9mRenamed /files to /readfiles across 3 extensions, updated execute signatures for 2 packages, migrated off systemPromptAppend, published 4 npm packages with version bumps, pushed git tags, and updated docs in 2 repos; decided not to republish for doc-only changes.
I'd start by asking it to check for breaking changes and naming collisions across all downstream repos (extensions, website, profile) in one pass, since I ended up asking about docs and repo references as an afterthought. The rebase/detached-HEAD mess in tmustier-profile wasn't something the agent caused, but aborting the rebase and hard-resetting to origin was the right fix and got the push through cleanly. Overall the breaking-change audit against the changelog was thorough enough that I didn't need to correct its technical analysis, just prompt it to keep going and to touch the peripheral repos.