Skip to content

Add shadcn registry for plugin pages to enable CLI-based customization #37

@olliethedev

Description

@olliethedev

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-page

This 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.json following 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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions