opencode-lazy
Advanced tools
+1
-1
@@ -46,3 +46,3 @@ import { tool } from "@opencode-ai/plugin"; | ||
| plugin_install: tool({ | ||
| description: "Install an OpenCode plugin by adding it to opencode.json and running bun install. Requires a restart to activate.", | ||
| description: "Install an OpenCode plugin by adding it to opencode.json. Requires a restart to activate.", | ||
| args: { | ||
@@ -49,0 +49,0 @@ name: tool.schema.string().describe("npm package name to install"), |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACF;AAWD,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAUD,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAYxE;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,kBAAkB,CAAC,CAe7B;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAWlE"} | ||
| {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACF;AAWD,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAUD,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAYxE;AASD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,kBAAkB,CAAC,CAe7B;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAWlE"} |
+7
-1
@@ -23,4 +23,10 @@ const NPM_REGISTRY = "https://registry.npmjs.org"; | ||
| } | ||
| function encodePackageName(name) { | ||
| if (name.startsWith("@")) { | ||
| return `@${encodeURIComponent(name.slice(1))}`; | ||
| } | ||
| return encodeURIComponent(name); | ||
| } | ||
| export async function getPackageMetadata(name) { | ||
| const url = `${NPM_REGISTRY}/${encodeURIComponent(name)}`; | ||
| const url = `${NPM_REGISTRY}/${encodePackageName(name)}`; | ||
| const response = await fetch(url); | ||
@@ -27,0 +33,0 @@ if (response.status === 404) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,4BAA4B,CAAA;AACjD,MAAM,eAAe,GAAG,GAAG,YAAY,cAAc,CAAA;AA+BrD,SAAS,gBAAgB,CAAC,GAAe;IACvC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAA;IACjD,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5E,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1D,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAA;IACnD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAa;IAC/C,MAAM,GAAG,GAAG,GAAG,eAAe,mBAAmB,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAA;IACpF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;IAEjC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACxE,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAA;IACvD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAY;IAEZ,MAAM,GAAG,GAAG,GAAG,YAAY,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAA;IACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;IAEjC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,qBAAqB,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACxE,CAAA;IACH,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuB,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAsB;IACxD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,2EAA2E,CAAA;IACpF,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACxE,OAAO,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,EAAE,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,SAAS,QAAQ,CAAC,MAAM,aAAa,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC"} | ||
| {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"} |
+5
-1
| { | ||
| "name": "opencode-lazy", | ||
| "version": "0.2.1", | ||
| "version": "0.2.2", | ||
| "description": "Plugin manager for OpenCode. Search, install, and manage plugins without leaving your session.", | ||
@@ -12,2 +12,6 @@ "keywords": [ | ||
| ], | ||
| "homepage": "https://github.com/griffinmartin/opencode-lazy#readme", | ||
| "bugs": { | ||
| "url": "https://github.com/griffinmartin/opencode-lazy/issues" | ||
| }, | ||
| "license": "MIT", | ||
@@ -14,0 +18,0 @@ "repository": { |
+16
-20
| # opencode-lazy | ||
| [](https://www.npmjs.com/package/opencode-lazy) | ||
| [](https://github.com/griffinmartin/opencode-lazy/actions/workflows/ci.yml) | ||
| [](https://socket.dev/npm/package/opencode-lazy) | ||
@@ -9,2 +11,6 @@ Plugin manager for OpenCode. Search, install, and manage plugins without leaving your session. | ||
| ## How it works | ||
| The plugin registers a `/plugin` slash command and four tools via OpenCode's plugin hooks. When you run a command, the LLM calls the appropriate tool, which hits the npm registry and modifies your `opencode.json` directly. Config modifications use `jsonc-parser` to preserve any comments in your config files. | ||
| ## Installation | ||
@@ -24,17 +30,7 @@ | ||
| Or use a local path for development: | ||
| ```json | ||
| { | ||
| "plugin": ["/path/to/opencode-lazy"] | ||
| } | ||
| ``` | ||
| ## Usage | ||
| The plugin registers a `/plugin` slash command with four operations: | ||
| ``` | ||
| /plugin search <query> Search npm for OpenCode plugins | ||
| /plugin install <name> Add a plugin to your config and install it | ||
| /plugin install <name> Add a plugin to your config | ||
| /plugin list Show all installed plugins | ||
@@ -50,3 +46,3 @@ /plugin remove <name> Remove a plugin from your config | ||
| Searches the npm registry for packages prefixed with `opencode-` and returns matching results with name, version, and description. | ||
| Searches the npm registry for packages prefixed with `opencode-` and returns matching results with name, version, and description. Supports scoped packages (`@org/opencode-*`). | ||
@@ -59,3 +55,3 @@ ### Install a plugin | ||
| Validates the package on npm, adds it to your `opencode.json` plugin array, and installs it. Restart OpenCode to activate. | ||
| Validates the package on npm, adds it to your `opencode.json` plugin array. Restart OpenCode to activate. | ||
@@ -80,11 +76,11 @@ By default, plugins are added to the global config (`~/.config/opencode/opencode.json`). The LLM can also install to the project config if you ask. | ||
| ## How it works | ||
| ## How it works (technical) | ||
| The plugin uses two OpenCode hooks: | ||
| - Registers a `/plugin` command via the `config` hook at startup | ||
| - Registers four tools via the `tool` hook (`plugin_search`, `plugin_install`, `plugin_list`, `plugin_remove`) | ||
| - Searches npm using the public registry API (`registry.npmjs.org/-/v1/search`) | ||
| - Filters results to packages prefixed with `opencode-` or tagged with `opencode-plugin` | ||
| - Modifies `opencode.json` using `jsonc-parser` to preserve comments and formatting | ||
| - Supports both global (`~/.config/opencode/`) and project-level configs | ||
| - **`config` hook** — Injects the `/plugin` command definition at startup | ||
| - **`tool` hook** — Registers four tools (`plugin_search`, `plugin_install`, `plugin_list`, `plugin_remove`) that the LLM calls when you use the `/plugin` command | ||
| Config modifications use `jsonc-parser` to preserve any comments in your `opencode.json` files. | ||
| ## Limitations | ||
@@ -91,0 +87,0 @@ |
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
No bug tracker
MaintenancePackage does not have a linked bug tracker in package.json.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
26474
4.1%253
2.43%1
-50%1
-50%94
-4.08%