This guide is for contributors working on the embeddr-react-ui package.
- Keep this package distribution-agnostic.
- Do not hardcode Zen-only layout, routing, or workflow behavior.
- Keep backend interaction behind stable client contracts and context APIs.
Use explicit package boundaries:
@embeddr/react-ui/components/uifor base and composed UI primitives@embeddr/react-ui/components/embeddrfor Embeddr-specific media components@embeddr/react-ui/components/visualizationfor visualization components@embeddr/react-ui/hooks/pluginfor plugin-facing hooks@embeddr/react-ui/hooks/distrofor shell/distro-facing hooks@embeddr/react-ui/types,@embeddr/react-ui/context, and@embeddr/react-ui/lib/*as needed
Notes:
@embeddr/react-ui/hooksremains a compatibility re-export of both hook groups.- Prefer package export paths for consumers and plugins.
Run from embeddr-react-ui:
pnpm lint
pnpm build
pnpm testWhen changing public API surface:
- Update
README.mdimport examples and relevant sections. - Ensure guidance matches
package.jsonexports.
Before cutting or handing off a release candidate:
- Lint passes with no errors
- Build emits declarations and
distoutput cleanly - Tests pass
- README guidance matches current exports
- Frontend consumer: https://github.com/embeddr-net/embeddr-frontend
- CLI and wider project docs: https://github.com/embeddr-net/embeddr-cli
- Docs portal: https://docs.embeddr.net