Files
open-design/plugins/AGENTS.md
T
pftom c9cc3b88c0 feat(web): standardize plugin terminology and enhance UI components
- Updated terminology from "Community" to "Official" across various components to reflect first-party plugin status.
- Enhanced the ChatComposer, HomeHero, and PluginsHomeSection components to improve user experience and clarity in plugin management.
- Improved CSS styles for better visual consistency and layout across plugin-related interfaces.
- Added tests to ensure proper functionality and visibility of official plugins in the UI.

This update reinforces the distinction between official and user-installed plugins, enhancing the overall user experience in plugin interactions.
2026-05-13 12:19:29 +08:00

1.8 KiB

Plugin Directory Guide

This directory owns Open Design plugin content and plugin authoring material.

Boundaries

  • plugins/_official/ contains bundled first-party plugins. The daemon boot walker scans only this subtree and registers it as source_kind='bundled'.
  • plugins/community/ is the community authoring kit. It is documentation, starter material, and example source for contributors; it must not be treated as an installed first-party catalog.
  • Keep runnable plugin examples portable: every example should have a SKILL.md; add open-design.json only as the OD sidecar.
  • Keep SKILL.md bodies free of OD-only marketplace metadata. Put OD display, inputs, preview, pipeline, capabilities, and source information in open-design.json.
  • Do not import app-private code from plugin content. A plugin may reference OD atoms, design systems, craft docs, assets, scripts, MCP servers, or connectors through the manifest.

Authoring Rules

  • New community examples belong under plugins/community/examples/<plugin-id>/.
  • New first-party bundled plugins belong under plugins/_official/<tier>/<plugin-id>/ only when the product should auto-register them on daemon startup.
  • Use the v1 JSON schema at docs/schemas/open-design.plugin.v1.json.
  • Prefer TypeScript for project-owned scripts. Avoid adding new .js, .mjs, or .cjs files unless they are generated, vendored, or explicitly allowlisted by scripts/guard.ts.
  • Keep example plugins concise and agent-readable. Move long reference material to references/ and tell the agent when to load it.

Validation

For plugin content changes, run:

pnpm guard
pnpm --filter @open-design/plugin-runtime typecheck

When the daemon CLI is built and available, also validate runnable plugin folders with:

od plugin validate ./plugins/community/examples/<plugin-id>