.agents/skills/plate-ui/rules/cross-platform.md
Build new component capabilities in three layers:
Semantic core (packages/*/src/lib)
Platform adapter (packages/*/src/react, future native adapter)
Open UI (apps/www/src/registry/ui)
React package hooks are valid when they expose a stable capability contract, not one component's private renderer glue.
Good:
useMediaStateuseTocElementStateuseEquationElementThese own state/effects with clear domain meaning.
Do not put these in package React hooks:
If the hook mostly exists to make one TSX file shorter, it does not belong in the package.
10tap-editor is useful because it keeps a platform-facing capability contract
separate from the UI that consumes it.
Copy:
Do not copy: