Skip to content

planify: Plugin aus der npm-Registry statt git+https - #115

Open
trick77 wants to merge 1 commit into
masterfrom
planify-npm-spec
Open

planify: Plugin aus der npm-Registry statt git+https#115
trick77 wants to merge 1 commit into
masterfrom
planify-npm-spec

Conversation

@trick77

@trick77 trick77 commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Why

A fresh remote machine ran npx opencode-presets install opencode-planify-german, saw no error, and ended up without the plan_render tool — skill loaded, nothing to operate on.

The two fetch-based parts always land: this CLI downloads them itself, sha256-verified. The plugin part is different — the installer only appends a spec string to plugin in opencode.json, and opencode resolves it with bun on its next start. With a git spec that means a git binary and git-over-HTTPS to github.com on the target machine. Where that is missing, nothing is installed and nothing complains.

opencode-planify-german is now published on npm (0.3.2, OIDC + provenance), so the preset can pin a registry spec like plugin-dcg and plugin-litellm-pricing already do.

What changed

  • presets/plugin-opencode-planify-german.conf: body ["opencode-planify-german@0.3.2"], @pins 0.3.2, description says npm and names the restart opencode needs.
  • presets/skill-… and presets/instructions-…: @fetch moved to the 0.3.2 commit with fresh sha256, cache paths …-0.3.2…. Upstream both files now say what to do when plan_render is missing — name the install command, do not fall back to hand-written HTML.
  • src/pin-sources.ts: opencode-planify-german looks up on npm instead of GitHub tags. The repo publishes GitHub releases now too, but npm is the source the preset installs from.
  • README.md: the plugin row still claimed pins tag v0.2.1.

Verified

npm test 178/178. npm run check-pins reports opencode-planify-german 0.3.2 / 0.3.2 ok via the npm lookup. Real install against a throwaway config: all four fetches verify, and the result is

"plugin": ["opencode-planify-german@0.3.2"],
"instructions": [".../opencode-planify-german-rules-0.3.2.md"],
"skills": { "paths": [".../opencode-planify-german-skills-0.3.2"] }

Note for upgrading an existing install

removeAtPath matches append entries deep-equal against the current preset body, so remove run from this version will not find the old git spec or the …-0.3.1… cache paths. Remove with the previous version first, or drop those three entries from opencode.json by hand.

The plugin preset wrote a git spec into opencode.json. opencode resolves that
with bun on its next start, which needs a git binary and git-over-HTTPS on the
target machine. Where that is missing, nothing is installed and nobody says so:
the fetch-based skill and rules land, plan_render never appears, and the skill
has nothing to operate on. Seen on a fresh remote machine.

opencode-planify-german 0.3.2 is on npm, so the preset pins the registry spec
like plugin-dcg and plugin-litellm-pricing do, and pin-sources looks the version
up there instead of in the repo's tags.

The fetched skill and rules move to the 0.3.2 commit: both now say what to do
when plan_render is missing, instead of leaving the agent without an output path.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant