feat(penpal): add packaging script and dev build branding#318
feat(penpal): add packaging script and dev build branding#318
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b786ee1143
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
1c1145b to
ef24549
Compare
b786ee1 to
bb39cf2
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bb39cf23e6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Add a "Manage Command Line Tools..." menu item and startup modal that handles installing/updating the penpal CLI symlink and Claude Code plugin from within the app, removing the need to clone the repo and run `just install` for these tasks. - Go endpoint (GET/POST /api/install-tools) creates CLI symlink and runs claude plugin marketplace add/install - Tauri menu item dispatches event to frontend - Modal shows on each new build: "Install" for fresh, "Update" for existing tools, with per-build localStorage dismissal - Bundle .claude-plugin/marketplace.json and plugin/ in app resources - Simplify justfile install/uninstall (app handles tools now) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
bb39cf2 to
47bb62f
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 47bb62f2c8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (!localStorage.getItem(dismissKey)) { | ||
| setShowInstallModal(true); |
There was a problem hiding this comment.
Gate startup prompt on tool status before honoring dismiss
The startup check now suppresses the install/update modal whenever penpal-install-dismissed-<build> exists, without considering whether tools are currently installed. This means a user who dismissed the first-launch prompt with no tools can later install an outdated CLI/plugin (or lose one component) and will no longer get the expected update prompt for that build, because hasTools is ignored once the dismiss key is present.
Useful? React with 👍 / 👎.
47bb62f to
7321c61
Compare
7321c61 to
e23b1d6
Compare
- Add scripts/package.sh to zip .app bundles for distribution using ditto (preserves code signatures and resource forks). Accepts an optional arch argument for CI cross-compilation. - Patch `just install` to set CFBundleName/CFBundleDisplayName to "Penpal Dev" so developers can distinguish local builds from Homebrew installs at a glance. - Add `just package` recipe that builds and packages in one step. - Add dist/ to .gitignore and clean recipe.
e23b1d6 to
085c644
Compare
Summary
Phase 1 of PENPAL-3 (Homebrew installation support). Stacked on #317.
scripts/package.sh— zips the built.appbundle usingditto(preserves code signatures/resource forks). Accepts an optional arch argument for CI cross-compilation.just installnow builds withproductName: "Penpal Dev"so the menu bar shows "Penpal Dev", distinguishing local dev builds from Homebrew installs.just packagerecipe for one-step build + package.dist/to.gitignoreandcleanrecipe.Test plan
just installbuilds and installs to/Applications— menu bar shows "Penpal Dev"just packagecreatesdist/Penpal-0.1.0-arm64.zip./scripts/package.sh x86_64names the zip correctly for the specified archPenpal.appat the top level (not nested)🤖 Generated with Claude Code