Skip to content

GH-2030: Harden plugin install, launcher and hooks - #2067

Merged
BoykoAlex merged 3 commits into
spring-projects:mainfrom
patbaumgartner:pr/p4-install-launcher-hooks
Oct 30, 2026
Merged

BoykoAlex merged 3 commits into
spring-projects:mainfrom
patbaumgartner:pr/p4-install-launcher-hooks

Conversation

@patbaumgartner

@patbaumgartner patbaumgartner commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Fixes gh-2030

Summary

  • Harden the plugin installer and launcher: HTTPS proxy downloads, stale installer-lock recovery, and test cleanup scoped to its own temporary directory.
  • Correct the hooks and move the refresh command into a skill.
  • Document the playbook checks in CLAUDE.md.

Stack

Depends on #2066. Review commit 432057d91 only. Merge order: #2066 → #2067 → #2068 → #2069 → #2070.

Validation

  • npm --prefix claude-plugins/tools test (48 tests)
  • node claude-plugins/tools/check-explanations.mjs --require-all --todo --links
  • ./nohttp.sh

…oks and plugin config

Fixes spring-projectsgh-1998

Signed-off-by: Patrick Baumgartner <contact@patbaumgartner.com>
…ve refresh into a skill

Fixes spring-projectsgh-2030

Signed-off-by: Patrick Baumgartner <contact@patbaumgartner.com>

@BoykoAlex BoykoAlex left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The install.js and. launcher.js became rather large. I'd suggest two things:

  1. Split the logic into modules. Keep install.js and launcher.js as thin entry points and move the cohesive pieces (download and proxy handling, locking, Java discovery, project directory resolution) into separate files. Most of the code is already written as small functions that take their environment as parameters, so this should be mostly mechanical. The exact structure is up to you.

  2. Add type checking to the JavaScript without moving to TypeScript. AI suggests //@ts-check but i never used it. If 1 delivers good results maybe this is unnecessary

Signed-off-by: Alex Boyko <alex.boyko@broadcom.com>
@BoykoAlex
BoykoAlex merged commit d5cc8b5 into spring-projects:main Oct 30, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Harden plugin install, launcher and hooks; move refresh into a skill

3 participants