feat(install): detect & reuse opencode.jsonc, pin plugin to @latest#24
Merged
Conversation
Reuse an existing opencode.jsonc or opencode.json if present (comments preserved via a comment-aware node editor), else create opencode.json. Pin the plugin spec to the @latest dist-tag and upgrade older/pinned entries in place. jq remains a fallback for plain .json. Document .jsonc support and the @latest suffix in the README.
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Make
install.shconfig-format aware and keep the plugin spec fresh.opencode.jsoncoropencode.json(preference: existing.jsonc→ existing.json→ default.json)..jsonccomments and user formatting survive.jqstays as a fallback for plain.jsonwhen node is unavailable.@latestdist-tag so opencode re-resolves to the newest release each startup; older/pinned entries are upgraded in place..jsoncsupport and the@latestsuffix (drop it or pin a version to opt out).Verification
bash -n install.sh→ OKshellcheck install.sh→ cleanLeft for reviewer
Functional test of the JSONC editor against fixtures (existing
.jsoncwith comments, existing.json, no config) was not run — syntax-clean only.