🧽 OpenClaw Kitchen Sink Plugin
Credential-free OpenClaw plugin fixture that intentionally touches the public plugin API surface and works as a kitchen sink boilerplate for plugin authors.
This repo is both:
- a readable example for plugin authors
- a dummy compatibility fixture for Crabpot and plugin-inspector
- a live plugin
@openclaw/kitchen-sinkthat can be installed via clawhub and npm for testing features
The runtime handlers are no-op probes. They should not call external services, read secrets, spawn processes, or require live credentials.
API Surface Sync
The generated fixture is derived from the installed openclaw package. It
extracts the public plugin surface from:
- registrar methods
- hook names
- manifest contract fields
- exported plugin SDK subpaths
It then writes explicit static evidence for those surfaces: hook registrations, registrar calls with no-op callback payloads, SDK import coverage, and manifest contract coverage.
npm install
npm run sync:surface
npm test
npm run pack:check
The Update OpenClaw SDK Surface workflow automatically checks
openclaw@latest and @openclaw/plugin-inspector@latest every 10 minutes. When
either package changes, it regenerates the pinned dependency, lockfile,
manifest, hooks, registrars, and SDK import fixture files, runs the static and
runtime plugin-inspector checks, then creates and squash-merges its own
automation PR after those checks pass.
Dependabot still watches npm dependencies, but ignores openclaw and
@openclaw/plugin-inspector because those updates should flow through the
generated updater instead of package-only bump PRs.
Publishing
Tagged GitHub releases publish the validated package to npm through trusted
publishing. The release tag must match package.json, for example v0.0.1 for
version 0.0.1.
Use the Draft Release workflow to create the tag and generated GitHub release
notes. Publishing that draft release runs the npm publish workflow. 0.0.x
verification releases publish under the verification npm dist-tag so they do
not replace the stable latest tag.
ClawHub publish wiring is present but intentionally not called from CI yet. The ClawHub org/package ownership for this fixture still needs to be set up before the dry-run or release publish jobs are enabled.