Skip to content

feat: add Pippin shell action button to worktree launch buttons#16

Merged
malaporte merged 1 commit into
mainfrom
pippin-shell
Apr 8, 2026
Merged

feat: add Pippin shell action button to worktree launch buttons#16
malaporte merged 1 commit into
mainfrom
pippin-shell

Conversation

@malaporte
Copy link
Copy Markdown
Owner

Summary

Adds a new action button to each worktree card that opens a Ghostty terminal tab running pippin shell directly in the worktree directory. The button is only shown when pippin is available on the user's PATH.

Changes

  • New launch:pippinShell RPC request and bun-side handler
  • New launchPippinShell() launcher that resolves the pippin binary via the login-shell env, then opens a Ghostty tab with command set to the resolved path and the login-shell PATH injected as an environment variable (so tools like docker are available inside the session)
  • New system:pippinPath RPC that probes which pippin at startup
  • LaunchButtons component probes system:pippinPath on mount and conditionally renders the button using IconPrison
  • Full test coverage for the new launcher, RPC, and conditional button rendering

Testing

  • bun run test — 25 test files, 64 tests, all passing
  • bun run typecheck — clean
  • Manually verified: button opens Ghostty tab running pippin shell in the correct worktree directory; exiting Pippin closes the tab rather than dropping back to the default shell; button is hidden when pippin is not installed

Reviewer Notes

The launcher resolves the absolute pippin binary path via which pippin using the login-shell environment before constructing the AppleScript, because Ghostty's GUI process runs with a stripped PATH. The login-shell PATH is also forwarded as a surface environment variable so subprocesses spawned by Pippin (e.g. docker) can be found.

@malaporte malaporte marked this pull request as ready for review April 8, 2026 12:32
@malaporte malaporte merged commit 5ba7e97 into main Apr 8, 2026
2 checks passed
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 8, 2026

🎉 This PR is included in version 2.10.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant