ChatJS uses two component libraries/registries: shadcn/ui and AI Elements. Both are shadcn-style, Tailwind-friendly, and theme via the same CSS variables inDocumentation Index
Fetch the complete documentation index at: https://chatjs.dev/docs/llms.txt
Use this file to discover all available pages before exploring further.
app/globals.css.
shadcn/ui components
shadcn/ui components are added tocomponents/ui and use your theme CSS variables from app/globals.css.
AI Elements components
AI Elements is a shadcn-compatible component registry focused on AI UX (docs). In this repo, AI Elements components live incomponents/ai-elements.
@/components/ai-elements/... and style them like any other component.
The extra/ pattern (local tweaks on top of registries)
Sometimes we need tiny local wrappers/patches on top of upstream shadcn or AI Elements components (usually to bridge an upstream gap or carry a temporary workaround).
- shadcn tweaks:
components/ui/extra/*(example:ScrollAreathat accepts aviewportRef) - AI Elements tweaks:
components/ai-elements/extra/*(example:ConversationContentwired to the tweakedScrollArea)
extra/ so future bunx shadcn@latest add / bunx ai-elements@latest add updates stay clean.