Skip to content

OpenCode Plugin Test Lab v1.0.0

Latest

Choose a tag to compare

@gitdamnit gitdamnit released this 17 Oct 03:38
· 1 commit to main since this release

OpenCode Plugin Test Lab v1.0.0

A disposable, isolated Docker test lab for OpenCode V2 plugins. Point it at
any plugin and it builds the plugin, loads it in the real opencode runtime, and
verifies the things plugin authors care about: does it load, do its tools
register, does it collide with other plugins, does it survive running next to a
broken plugin, does it clean up, and what exactly gets installed.

This is a standalone developer testing tool, not a loadable OpenCode runtime
plugin.

Highlights

  • Works out of the box — the default manifest tests two tiny bundled example
    plugins; no external plugin is required.
  • Bring your own plugin — make test-plugin PLUGIN=/path/to/plugin builds and
    tests any local plugin (source directory, packed tarball, or prebuilt package).
  • Multiple plugins — configurable load order, tool-name collision detection,
    duplicate entries, and failure isolation, all generic.
  • Capability-aware — if a plugin registers no tools or no redaction, those
    assertions are skipped and reported, never faked.
  • Optional regression profile — PROFILE=gitdamnit reproduces the original
    three-plugin compatibility matrix without depending on those plugins.
  • Provenance in every report — manifest digest, plugin version/commit, image
    id, OpenCode/Node version, and a reproduction command.

Verified compatibility

OpenCode V2 Result
2.0.21 (pinned baseline) 76 pass / 0 fail / 5 skip
2.0.32 (evaluated) 76 pass / 0 fail / 5 skip

gitdamnit regression profile, on the pinned historical commits
(65bf698, 6069f91, 9cfd813): 153 pass / 0 fail / 8 skip. Historical
evidence for the original 145-pass run is preserved unchanged under
reports/historical/.

Quick start

git clone https://github.com/gitdamnit/opencode-plugin-lab
cd opencode-plugin-lab
make build      # stage the bundled example plugins + build the Docker image
make start      # smoke-check the default configuration
make suite      # full generic suite across every configuration
make report     # print the latest report

Security

Offline by default (network_mode: "none"), read-only rootfs, all capabilities
dropped, non-root, no published ports, only ./reports bind-mounted out. Rootless
Docker limits but is not a hard sandbox against malicious plugin code.

License

MIT — see LICENSE and THIRD_PARTY_NOTICES.md.

Full details in CHANGELOG.md.