@iskron/opencode (6.6.4-test.20260914.3)
Installation
@iskron:registry=npm install @iskron/opencode@6.6.4-test.20260914.3"@iskron/opencode": "6.6.4-test.20260914.3"About this package
Iskron for OpenCode: npm distribution
The package contains the OpenCode plugin, its bridge and the full skills tree. Use OpenCode 1.x. OpenCode 2's plugin API is a separate compatibility target.
Build
From the repository root, install development dependencies with make deps, then
run make build and make check. make npm-package produces a tarball in dist/.
Its version comes from the existing release metadata. For a test artifact:
node js/pack-opencode.mjs VERSION-test.ID
Replace VERSION with the current .claude-plugin/plugin.json version and ID
with a unique test identifier. The script accepts only prereleases of that version.
It does not publish anything. Inspect the archive before publishing it with
npm publish dist/iskron-opencode-VERSION-test.ID.tgz --tag test --registry=REGISTRY.
Keep registry credentials outside the package and repository.
Install
Add a pinned npm specifier to the existing OpenCode configuration:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@iskron/opencode@VERSION"]
}
For a private registry configure the @iskron scope using npm/Bun's normal registry
configuration. Alternatively use the immutable tarball URL returned by
npm view @iskron/opencode@VERSION dist.tarball --registry=REGISTRY as the plugin
specifier. Preserve other plugins. Remove the old auto-discovered iskron.js
copy and redundant native Iskron MCP entry when migrating; do not load both.
The plugin appends its own skills directory to skills.paths, preserving existing
paths and URLs. No skills repository clone, lifecycle install script or separate
copy of the bridge is needed. Writable credentials and tool cache remain in
ISKRON_BRIDGE_AUTH_DIR (default ~/.iskron-bridge), outside the npm package.
For unattended operation supply ISKRON_BRIDGE_TOKEN through the process's secret
environment before starting OpenCode. Optional ordinary environment:
ISKRON_BRIDGE_URL, ISKRON_BRIDGE_AUTH_DIR, ISKRON_BRIDGE_NO_BROWSER=1.
Do not embed token values in plugin options or configuration returned by an API.
The npm package owns the bridge version. Its child bridges disable home-copy
replacement and automatic updates. An explicit ISKRON_BRIDGE_PATH override is
still available for diagnostics. Update the package specifier and restart OpenCode
to change the installed version; secret rotation likewise requires a process restart.
Removing the specifier and restarting disables the plugin, but does not erase credentials.
When this machine also uses a separately updated bridge (Claude Code, Codex or pi),
set a dedicated ISKRON_BRIDGE_AUTH_DIR for the npm plugin before its first launch
and authorize it separately. Sharing an OAuth store across independently pinned
bridge versions is not supported by this recipe. A VM using a PAT does not rotate
an OAuth grant. Run the packaged bridge's doctor, using that same auth directory,
instead of diagnosing this installation through a standalone home bridge.
The archive includes tracked files under skills/, not the development toolchain
or local untracked files. The only external runtime dependency is @opencode-ai/plugin.
Acceptance
A listening HTTP server does not prove that a plugin loaded. Check actual
iskron_* tools and bundled skills first, then open two root sessions and let each
take its own standing. Send distinct channel messages after both become idle:
each session must run and answer only its own message, with no external prompt
request to wake it. Repeat after idle; delete one session and repeat for the other.
Repeat on a second clean machine/cache. Invalid credentials, missing packages and
import failures must not be mistaken for readiness of Iskron.
Local acceptance (actual OpenCode and bridge, fixture MCP/WebSocket and model):
node js/tests/opencode-npm-live.mjs dist/iskron-opencode-VERSION.tgz /absolute/path/to/opencode
Set ISKRON_NPM_PROBE_MODE=registry to exercise pinned name@version resolution
through a scoped fixture registry instead of a direct tarball URL.
This runs with isolated HOME and caches under dist/, fetching the packed artifact
through OpenCode's normal npm loader. It checks A/B wakeups after idle and deletion
isolation. It does not certify the real graph service or fresh dark VM provisioning.
Dependencies are fetched from the configured/public npm registry; this is not an
offline-install test. The printed dist/npm-live-* directory retains diagnostic
logs and fixture caches; remove that specific run directory after inspecting it.
Dependencies
Dependencies
| ID | Version |
|---|---|
| @opencode-ai/plugin | 1.18.27 |