opencode-extension-manager
v0.1.3
Published
CLI for managing OpenCode extensions
Maintainers
Readme
OpenCode Extension Manager (OEM)
oem is a CLI for managing OpenCode extensions.
Current focus:
- Implemented:
plugins - Placeholder only:
skills,mcps(commands exist, outputnot yet realized)
Requirements
- Node.js
>=18
Install
npm install
npm run buildUse directly in this project:
node dist/index.js --helpOr link globally for local development:
npm link
oem --helpCommand Overview
Top-level commands:
oem list(oem ls)oem plugins ...oem skills ...(placeholder)oem mcps ...(placeholder)
1) oem list
List loaded extensions by module.
oem list
oem list -p # project only
oem list -g # global onlyBehavior:
- Uses unified plugin collection logic shared with
oem plugins list - Shows
pluginsin table format - Shows
skills/mcpsasnot yet realized
2) oem plugins
List
oem plugins list
oem plugins list -p
oem plugins list -g
oem plugins list --jsonColumns:
Name,Scope,Type,Installed,Latest,Status
Install
oem plugins install <source>
oem plugins install <source> -p
oem plugins install <source> -g
oem plugins install <source> --dry-run<source> can be:
- npm package
- git URL
- local file/directory path
Uninstall
oem plugins uninstall <name>
oem plugins uninstall <name> -p
oem plugins uninstall <name> -g
oem plugins uninstall <name> --dry-runUpdate
oem plugins update
oem plugins update <name>
oem plugins update -p
oem plugins update -g
oem plugins update --dry-runInfo
oem plugins info <name>
oem plugins info <name> -p
oem plugins info <name> -g
oem plugins info <name> --json3) oem skills (placeholder)
Subcommands are registered but not implemented:
install(i)uninstall(rm)list(ls)infoupdate(up)
Example:
oem skills list
# -> skills list: not yet realized4) oem mcps (placeholder)
Subcommands are registered but not implemented:
install(i)uninstall(rm)list(ls)infoupdate(up)
Example:
oem mcps list
# -> mcps list: not yet realizedScope and Config Resolution
Scope flags used by list/plugin commands:
-p, --project: project scope only-g, --global: global scope only- default: both scopes
Config path resolution order:
<cwd>/opencode.json<cwd>/.opencode/opencode.json<globalConfigDir>/opencode.json
Global directories:
- Config:
${XDG_CONFIG_HOME:-~/.config}/opencode - Cache:
${XDG_CACHE_HOME:-~/.cache}/opencode
Project local plugins directory:
<cwd>/.opencode/plugins
Development
Scripts:
npm run build # compile TypeScript
npm run dev # watch mode
npm run start # run dist/index.jsLicense
MIT
