Skip to content

Adding an integration

  1. Choose the target’s canGenerate() and canApply() capabilities, then implement its ThemeAdapter/ThemeGenerator behavior: path and file format, environment gating, live application, and any reload hook.
  2. Register exactly one instance in ALL_ADAPTERS. The derived generation and application registries follow from that canonical list.
  3. Add exact-key editorial metadata in PRODUCT_EDITORIAL, including its source path and category.
  4. Run the product generator so product.generated.json derives the new registry item.
  5. Add the matching ID-keyed setup guide overlay in integration-docs.ts. Its two-way parity check rejects missing or orphan guide IDs.
  6. Add capability, path, hook, output, and contract tests appropriate to the adapter.

The website never imports adapter classes or filesystem logic at runtime. Its catalogue is static generated metadata joined to the hand-authored setup overlay.