-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
Description
Enable users to eject and customize plugin page components using the shadcn CLI by publishing a component registry.
Problem
Currently, plugin pages (e.g., ChatPage, BlogPostPage, ConversationsPage) are bundled and consumed as-is. Users who want to modify page layouts, styling, or behavior must either:
- Fork the entire package
- Use limited override props
- Theme via css vars
- Work around the component structure
Proposed Solution
Create a registry.json that exposes plugin pages as installable items via:
npx shadcn@latest add <registry-url>/chat-page
npx shadcn@latest add <registry-url>/blog-post-pageThis would copy the full page component source into the user's project, allowing complete customization while maintaining the plugin's data fetching patterns (loaders, query keys, hooks).
Registry Items to Include
- Pages:
chat-page,conversations-page,blog-post-page,blog-list-page, etc. - Page-level overrides:
chat-layout,message-list,blog-card, etc. - Shared primitives: Reusable UI pieces that pages compose
Acceptance Criteria
- Create
registry.jsonfollowing shadcn registry spec - Expose page components with proper dependencies (query keys, hooks, types)
- Document usage in plugin docs
- Ensure ejected pages work with existing plugin infrastructure (loaders, API clients)
References
Metadata
Metadata
Assignees
Labels
No labels