Skip to content

Generalize flykit beyond Claude Code plugins - #23

Merged
kaiomp merged 1 commit into
mainfrom
generalize-ecosystems
Aug 25, 2026
Merged

Generalize flykit beyond Claude Code plugins#23
kaiomp merged 1 commit into
mainfrom
generalize-ecosystems

Conversation

@kaiomp

@kaiomp kaiomp commented Aug 25, 2026

Copy link
Copy Markdown
Member

Motivation

flykit lists Claude Code plugins and Claude Code companion tools. The org just published dsh-claude-live, a plugin for the DeepSeek Harness, and there was nowhere to list it. Rather than inventing a new file, this generalizes the registry that already exists.

What changed

  • tools.json becomes the ecosystem-neutral registry. Every entry now carries a required ecosystem field (claude-code or dsh). Renamed the manifest's own name to flykit-registry and widened its description. Entry shape is otherwise unchanged, so flykit-web's lib/tools.ts keeps working with no change (the extra field is ignored).
  • dsh-claude-live listed as the first dsh entry, with a tools/dsh-claude-live/web.json sidecar in the same shape as tools/ghostcode/web.json. It will render as a card on flykit.cc on merge, no site deploy change needed.
  • README restructured into per-ecosystem sections: Claude Code plugins / Claude Code tools / DeepSeek Harness plugins, plus a "How it works" that spells out the two-manifest split.
  • CONTRIBUTING gained a "Two manifests, two audiences" table up top and a walkthrough for adding a tools.json entry.
  • CI (pr-check.yml) validates every tools.json entry declares an ecosystem and points at a readable web.json. Verified it fails for the right reason by deleting the field locally.
  • notify-web.yml now also fires on tools.json / tools/** changes, so registry edits reach flykit.cc.

What deliberately did NOT change

.claude-plugin/marketplace.json is byte-identical. It is the contract Claude Code itself reads; it only understands Claude Code plugins. No dsh entry goes in it, now or later. git diff main -- .claude-plugin/marketplace.json is empty. Existing installs of flow and steuer are unaffected — no plugin directories, versions, or the marketplace schema were touched.

Open questions

  1. Should dsh plugins live in this repo or stay in their own? Implemented as own-repo + registry pointer (same as ghostcode), which is the recommendation: dsh plugins ship to npm from their own repo with their own release cycle, and vendoring them here would duplicate versioning for no gain. Say the word if you'd rather they sit under a dsh-plugins/ directory.
  2. tools.json filename. Kept as-is because flykit-web fetches it by name and $schema points at flykit.cc/schemas/tools.json. registry.json reads better now that it holds plugins for other ecosystems, but renaming means a coordinated change in flykit-web (and the schema URL). Your call.
  3. flykit-web copy is now slightly off. The homepage section is titled "Companion Tools" with the line "Standalone tools for Claude Code. Not plugins — install via npm or brew." That no longer covers a dsh plugin. Not changed here (separate repo, and it's a design/copy call). Suggested follow-up PR on flykit-cc/flykit-web: rename the section and show the ecosystem value as a badge on ToolCard.
  4. Tagline / positioning. README now says "plugins and tools for AI coding agents". The site title, OG image, and marketplace.json description still say "Claude Code plugins". Left alone deliberately — that's a branding decision, not a mechanical one.

tools.json becomes the ecosystem-neutral registry: every entry now carries an
ecosystem field (claude-code or dsh), and dsh-claude-live is listed as the
first DeepSeek Harness plugin with a web.json sidecar.

.claude-plugin/marketplace.json is untouched — it is the contract Claude Code
itself reads, it only understands Claude Code plugins, and nothing from another
ecosystem goes in it.

README is restructured into per-ecosystem sections, CONTRIBUTING documents
which manifest a new entry belongs in, and CI validates that every tools.json
entry declares an ecosystem and has a readable web.json.
@kaiomp
kaiomp merged commit 7747f46 into main Aug 25, 2026
1 check passed
@kaiomp
kaiomp deleted the generalize-ecosystems branch August 25, 2026 01:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant