Elements UI is designed to be infinitely expandable. Add new packages for any framework or use case.
elements/
├── packages/
│ ├── core/ # @bitbybit-b3/elements-core
│ └── react/ # @bitbybit-b3/elements-react
├── docs-site/ # VitePress documentation
├── .github/workflows/ # CI/CD automation
└── .claude/commands/ # AI agents for automation
The system automatically creates new packages when needed:
Framework-Specific:
@bitbybit-b3/elements-nextjs - Next.js specific (Server Components, App Router, etc.)@bitbybit-b3/elements-vue - Vue components@bitbybit-b3/elements-svelte - Svelte components@bitbybit-b3/elements-solid - SolidJS components@bitbybit-b3/elements-angular - Angular componentsTool-Specific:
@bitbybit-b3/elements-vite - Vite utilities@bitbybit-b3/elements-webpack - Webpack utilities@bitbybit-b3/elements-turbo - Turborepo utilitiesUtility Packages:
@bitbybit-b3/elements-utils - Framework-agnostic utilities@bitbybit-b3/elements-hooks - React hooks library@bitbybit-b3/elements-types - Shared TypeScript types@bitbybit-b3/elements-icons - Icon library@bitbybit-b3/elements-animations - Animation utilitiesPlatform-Specific:
@bitbybit-b3/elements-mobile - React Native components@bitbybit-b3/elements-electron - Electron utilities@bitbybit-b3/elements-tauri - Tauri utilitiesCreate a new package when you find:
packages/[NAME]/
├── src/
│ ├── index.ts # Main exports
│ ├── components/ # Components (if applicable)
│ ├── hooks/ # Hooks (if applicable)
│ ├── utils/ # Utilities
│ └── types/ # TypeScript types
├── package.json # Package configuration
├── tsconfig.json # TypeScript configuration
├── tsup.config.ts # Build configuration
└── README.md # Package documentation
/update-components <path>Intelligently updates library from source projects:
/create-package <name>Creates a new package:
The publish workflow automatically:
packages/*No manual updates needed! Just create a new package directory and it’s automatically included.
Each framework/tool gets its own package. Never mix concerns.
Create as many packages as needed. The system scales infinitely.
Agents handle setup automatically. Minimal manual work.
Full TypeScript support across all packages.
All packages follow the same structure for predictability.
Each package can be versioned independently if needed.
Use the /update-components command:
/update-components /path/to/project/with/new/framework
The agent will:
packages/[name]/pnpm install && pnpm buildGitHub Actions will automatically detect and publish the new package.
Scalable - Add unlimited packages Maintainable - Clear separation of concerns Flexible - Support any framework/tool Automated - AI agents handle most work Type-Safe - Full TypeScript support Tested - Each package builds independently Documented - Auto-generated docs Versioned - Git-based versioning Published - Auto-published to GitHub Packages
This architecture supports:
The library grows with your needs!
When adding components:
/update-components <source-path>That’s it! The system handles package creation, configuration, and deployment automatically.