Installation
Requires Node.js >=18.
Requires Node.js >=18.
# Interactive installation (prompts for location)
npx opendevbrowser
# Non-interactive with flags
npx opendevbrowser --global # Install to ~/.config/opencode/opencode.json
npx opendevbrowser --local # Install to ./opencode.json
# Optional: persistent global CLI
npm install -g opendevbrowser
opendevbrowser --version
Local package onboarding from a source tarball
cd <public-repo-root>
npm pack
WORKDIR=$(mktemp -d /tmp/opendevbrowser-first-run-XXXXXX)
ISOLATED_ROOT=$(mktemp -d /tmp/opendevbrowser-first-run-isolated-XXXXXX)
export HOME="$ISOLATED_ROOT/home"
export OPENCODE_CONFIG_DIR="$ISOLATED_ROOT/opencode-config"
export OPENCODE_CACHE_DIR="$ISOLATED_ROOT/opencode-cache"
export CODEX_HOME="$ISOLATED_ROOT/codex-home"
export CLAUDECODE_HOME="$ISOLATED_ROOT/claudecode-home"
export AMP_CLI_HOME="$ISOLATED_ROOT/ampcli-home"
cd "$WORKDIR"
npm init -y
npm install <public-repo-root>/opendevbrowser-0.0.22.tgz
npx --no-install opendevbrowser --help
npx --no-install opendevbrowser help
Load extension unpacked from:
$WORKDIR/node_modules/opendevbrowser/extension
Set OPDEVBROWSER_SKIP_POSTINSTALL_SKILL_SYNC=1 before npm install only if you need a packaging smoke test that avoids the install-time managed-skill refresh entirely.
By default (--skills-global), the CLI installs bundled skills to global OpenCode/Codex/ClaudeCode/AmpCLI locations. Use --skills-local for project-local locations or --no-skills to skip CLI-managed skill installation. Package installation (npm install -g, local tarball install, or equivalent) also best-effort syncs the canonical bundled packs into the managed global skill targets during package postinstall. Use --full to always create opendevbrowser.jsonc and pre-extract extension assets.
Installer inventory:
--skills-globaland--skills-localsync the 9 canonicalopendevbrowser-*packs underskills/into managed global or project-local agent directories.- Managed installs write a target-level ownership marker, so default updates and uninstall only act on CLI-managed targets or older config installs that already contain canonical packs.
- Reinstall and update refresh drifted managed copies and leave matching packs unchanged.
- Uninstall removes managed canonical packs, retires repo-owned legacy alias directories that match shipped content, and leaves unrelated directories untouched.
OPENCODE_CONFIG_DIR changes config lookup, but the extracted unpacked-extension copy created by --full still lives at ~/.config/opencode/opendevbrowser/extension.
Published npm consumer proof is a separate release gate:
node scripts/registry-consumer-smoke.mjs --version X.Y.Z --output artifacts/release/vX.Y.Z/registry-consumer-smoke.json
Skill discovery order
The skill loader discovers skills in this order (first match wins):
- Project-local:
./.opencode/skill - Global:
~/.config/opencode/skill(or$OPENCODE_CONFIG_DIR/skill) - Compatibility (project):
./.codex/skills - Compatibility (global):
$CODEX_HOME/skills(fallback~/.codex/skills) - Compatibility (project):
./.claude/skills - Compatibility (global):
$CLAUDECODE_HOME/skills(fallback~/.claude/skills) - Compatibility (project):
./.amp/skills - Compatibility (global):
$AMP_CLI_HOME/skills(fallback~/.amp/skills) - Extra paths from
skillPaths(advanced) - Bundled package fallback: packaged
skills/directory afterskillPathswhen no installed copy matches
npm install -g opendevbrowser