[BREAKGLASS] Credential-free kitchen-sink OpenClaw plugin fixture covering the public plugin API surface.
Go to file
2026-04-28 16:23:11 -07:00
.github Merge pull request #3 from openclaw/pe/enable-clawhub-package-publish 2026-04-28 15:22:15 -07:00
scripts fix(inspector): avoid placeholder hook scans 2026-04-28 16:23:11 -07:00
src fix(sdk): prune retired fixture imports 2026-04-28 16:15:07 -07:00
.gitignore Add plugin inspector checks 2026-04-27 08:58:12 -07:00
LICENSE Enable ClawHub package publishing 2026-04-28 15:20:50 -07:00
openclaw.plugin.json feat(runtime): add kitchen fixture routes 2026-04-28 16:13:46 -07:00
package-lock.json Use unscoped package name for release 2026-04-28 15:55:36 -07:00
package.json fix(sdk): prune retired fixture imports 2026-04-28 16:15:07 -07:00
plugin-inspector.config.json Rename package for ClawHub publishing 2026-04-28 15:38:15 -07:00
README.md feat(runtime): add kitchen fixture routes 2026-04-28 16:13:46 -07:00

🧽 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-sink that can be installed via clawhub and npm for testing features

The generated runtime probes are credential-free. The hand-owned Kitchen Sink runtime also registers deterministic direct commands, tools, image generation, media understanding, web search, web fetch, and text-provider catalog surfaces. It should not call external services, read secrets, spawn processes, or require live credentials.

Kitchen Runtime

The fixture can be used dry, without an LLM:

kitchen image generate a kitchen sink
kitchen search kitchen sink provider routing
kitchen explain the fixture

It also exposes provider and tool surfaces for live model routing:

  • kitchen_sink_image_job returns a deterministic image job, waits 10 seconds in real runtime execution, then returns a bundled SVG image payload.
  • kitchen-sink-image is a registered image generation provider with aliases kitchen, kitchen-sink, and openclaw-kitchen-sink.
  • kitchen-sink-media describes images with deterministic fixture text.
  • kitchen-sink-search and kitchen-sink-fetch provide credential-free web tool fixtures.
  • kitchen-sink-llm exposes a deterministic text-provider catalog row, provider-owned stream function, and prompt guidance so live LLM providers can discover the Kitchen Sink routes.

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.