Plugin Builder

Changelog

User-facing changes, newest first. See git log for the full commit history.

Unreleased

Platform

  • Public HTTP APIPOST /api/validate, POST /api/generate,
    GET /api/import, GET /api/card.svg. Documented at
    /api with curl examples.
  • X-RateLimit-* response headers on every public endpoint so callers
    can back off before hitting 429s.
  • Sitemap at /sitemap.xml enumerating the landing, API docs, design
    showcase, and every template slug.
  • Branded error pages with status-aware copy for 404 / 429 / 5xx.

Builder

  • ⌘K command palette — tab jumps, download, share, duplicate, focus
    chat, validation sheet, shortcuts help, template loading, and per-skill
    / per-agent jump entries.
  • Validation sheet — click the footer status row to see the full
    grouped list of errors + warnings; click any row to jump to the owning
    tab.
  • Keyboard shortcuts — ⌘D download, ⌘1–6 tab nav, / focus chat,
    ? help overlay, 1–9 chat choice picker.
  • Header metadata strip — live "N skills · N agents · N hooks · N MCP
    · NN KB" counts plus a "Saved Xs ago" indicator.
  • Reorder skills / agents with ↑ / ↓ buttons and moveSkill /
    moveAgent store helpers.
  • Edit / Preview toggle on both the SKILL.md body and agent system
    prompt textareas, using the shared sanitised Markdown renderer.
  • Theme toggle — Auto / Light / Dark, persisted to localStorage,
    overrides the OS preference.
  • Duplicate plugin from the builder header (owners only; mirrors the
    existing Fork for non-owners).
  • Copy plugin.json and Copy Markdown digest quick actions in
    Overview.

Import / export

  • Plugin ZIP import — drop a .zip on the landing page (drag-drop
    anywhere or use the file picker) and the builder reconstructs the full
    spec, lossy on unknown frontmatter but tolerant of flat-root and
    wrapper-folder layouts.
  • GitHub URL import — paste owner/repo or a github.com URL; the
    /api/import proxy fetches the codeload tarball and the browser feeds
    it into the same importer.
  • Dynamic OG install card at /api/card.svg with plugin name,
    description, platform pills, and 1h edge cache.
  • Template preview pages advertise the dynamic card via og:image
    and Twitter card meta.
  • Drafts dashboard at /drafts with a filter input and
    delete-from-dashboard action.

Spec coverage

  • Multi-platform targets: Claude Code (default) and Codex
    (config.toml, .agents/plugins/marketplace.json) via the
    PluginTarget abstraction, plus an all bundle.
  • Agent frontmatter: all 9 plugin-spec fields — model, effort,
    max-turns, tools allowlist / disallowedTools denylist, skills access,
    memory, background, isolation — with exclusivity + reference
    validation.
  • Hooks: all 26 lifecycle events (grouped selector) and all 4 hook
    types (command / http / prompt / agent) with type-aware inputs and
    integrity checks.
  • userConfig editor (key / description / sensitive) and
    settings.json default-agent activation.
  • Manifest metadata: homepage, repository, keywords, author
    name/email/url.
  • .claude-plugin/marketplace.json and Codex-format marketplace
    manifests emitted in every ZIP.
  • Remaining component types: LSP servers, channels (bound to an MCP
    server), bin/ executables, legacy commands/, output-styles/.
  • Starter scaffolds — three opinionated starters (code-review,
    summarise, pre-deploy-check) in the "+ From template" menu on the
    Skills panel.

Landing

  • Hero redesign — wider input, animated typewriter placeholder
    cycling six prompts, platform badges (Claude Code + Codex), GitHub
    import chip.
  • Before / After demo with a Run it live button that streams
    real Claude output through /api/demo-compare.