First-party plugins for KubeOpenCode — a Kubernetes-native AI Agent Platform built on OpenCode.
Each plugin is an independent npm package published under the @kubeopencode scope. Plugins follow the OpenCode plugin API and can be installed into any KubeOpenCode Agent via spec.plugins.
| Plugin | npm | Description |
|---|---|---|
| opencode-slack-plugin | @kubeopencode/opencode-slack-plugin |
Slack Socket Mode integration — chat with your Agent from Slack threads |
Declare the plugin in your Agent spec:
apiVersion: kubeopencode.io/v1alpha1
kind: Agent
metadata:
name: my-agent
spec:
plugins:
- name: "@kubeopencode/opencode-slack-plugin"
target: server
credentials:
- secretRef:
name: slack-credentialsAdd to your opencode.json:
{
"plugin": ["@kubeopencode/opencode-slack-plugin"]
}- Node.js >= 22 (local development)
- Node.js >= 24 is used in CI for npm OIDC trusted publishing (npm 11.5.1+ required)
make install # install dependencies
make typecheck # type-check (tsc --noEmit)
make build # build (tsup -> dist/)make build PLUGIN_DIR=opencode-slack-pluginReleases are automated via GitHub Actions using npm OIDC Trusted Publishing — no npm tokens required.
-
Update the version in the plugin's
package.json:cd opencode-slack-plugin npm version patch # or minor / major
-
Commit and push:
git add -A git commit -s -m "release: opencode-slack-plugin v0.1.1" git push origin main -
Tag and push to trigger CI:
make release # or: make release PLUGIN_DIR=opencode-slack-pluginThis creates a git tag
opencode-slack-plugin/v0.1.1and pushes it. GitHub Actions will automatically build, verify, and publish to npm with provenance.
Tags follow the pattern <plugin-dir>/v<version>, e.g. opencode-slack-plugin/v0.1.0. This supports independent versioning when more plugins are added.
OIDC Trusted Publishing requires the package to already exist on npm. For a brand-new plugin:
-
Publish the first version manually:
npm login make publish PLUGIN_DIR=my-new-plugin
-
Configure Trusted Publisher on npmjs.com:
- Go to the package settings > Trusted Publisher
- Owner:
kubeopencode - Repository:
kubeopencode-plugins - Workflow:
publish.yaml - Environment:
release
-
Create a
releaseenvironment in GitHub repo settings (if not already done).
After this one-time setup, all subsequent releases are fully automated.
kubeopencode-plugins/
README.md # This file
AGENTS.md # AI agent development guidelines
Makefile # Build and release targets
.github/workflows/publish.yaml # CI: automated npm publish on tag
opencode-slack-plugin/ # Slack Socket Mode plugin
src/index.ts
package.json
tsconfig.json
dist/
README.md
- Each plugin lives in its own directory at the repo root
- Use TypeScript with ESM (
"type": "module") - Use
@opencode-ai/pluginas a peer dependency - See AGENTS.md for detailed plugin architecture and conventions
MIT