Your Personal Vault for React Components
Upload, organize, and retrieve your components instantly with CLI, Dashboard, and MCP integration.
-- ποΈ Component Vault β Store and organize your React components in categories
- β‘ CLI Tool β Push, pull, and manage components directly from your terminal
- π¨ Web Dashboard β Visual interface to browse, preview, and manage your library
- π MCP Compatible β Works with Claude, Cursor, GitHub Copilot, and other AI assistants
- π Secure Auth β Better Auth integration with JWT-based authentication
- π¦ Live Preview β Sandpack-powered component previews with Tailwind CSS support
- π One-Click Copy β Copy component code or CLI commands instantly
-
Web App: composter.vercel.app
-
CLI npm: npmjs.com/package/composter-cli
-
MCP npm: npmjs.com/package/composter-mcp
-
GitHub: github.com/binit2-1/Composter
-
Wiki: DeepWiki - Composter
-
Documentation: see the
docs/folder for user and developer guides (docs/getting-started.md,docs/api-reference.md,docs/mcp-integration.md).
- Install the CLI:
npm install -g composter-cli-
Login and start using:
composter login composter mkcat my-category composter push my-category "MyComponent" ./component.jsx -
Access the web dashboard:
- Visit composter.vercel.app
Want to contribute or run locally? See CONTRIBUTING.md for full setup instructions. Short setup:
# Install dependencies at repo root (monorepo)
npm install
# Start API
cd apps/api && npm run dev
# Start Web
cd ../web && npm run devThis repository uses Turbo (turborepo) to orchestrate apps and packages. From the repository root you can run the full development environment with one command.
# From repo root
npm install # if you haven't already
npm run dev # runs `turbo dev` which starts services in parallelTurbo will run the dev scripts defined in each workspace (for example apps/api, apps/web, cli, mcp). If you need to run only a subset, use Turbo filtering:
# Run only API and Web
npx turbo dev --filter=apps/api... --filter=apps/web...
# Run only the web app
npx turbo dev --filter=apps/webEnvironment variables
- Create per-service
.envfiles (for exampleapps/api/.envandapps/web/.env), or set them in your shell. - For local development the important vars are
DATABASE_URL,BETTER_AUTH_SECRET,BETTER_AUTH_URL, andCLIENT_URL.
Example apps/api/.env:
DATABASE_URL="postgresql://user:password@localhost:5432/composter"
BETTER_AUTH_SECRET="your_secret_here"
BETTER_AUTH_URL="http://localhost:3000"
CLIENT_URL="http://localhost:5173"
Notes
- If you change ports or hostnames, update
CLIENT_URLandVITE_API_BASE_URLinapps/web/.envorapps/web/.env.production. - To build everything for production use
npm run buildfrom the repo root (runsturbo build).
# Login to your account
composter login
# Create a category
composter mkcat buttons
# List all categories
composter ls
# Push a component
composter push buttons "PrimaryButton" ./src/components/Button.jsx
# Pull a component
composter pull buttons "PrimaryButton" ./components/Access the dashboard at composter.vercel.app
- Browse Components β View all saved components organized by category
- Live Preview β See components rendered in real-time
- Code View β Inspect source code with syntax highlighting
- Copy Commands β One-click copy for npm install and CLI commands
Composter includes a Model Context Protocol (MCP) server that enables AI assistants to interact with your component vault.
| Tool | Status |
|---|---|
| Claude Desktop | β Supported |
| Cursor | β Supported |
| GitHub Copilot | β Supported |
| VS Code + MCP Extensions | β Supported |
| Windsurf | β Supported |
-
Login via CLI first:
composter login
-
Auto-Configure (Recommended):
# For Claude Desktop npx composter-mcp init claude # For Cursor npx composter-mcp init cursor # For VS Code (Copilot) npx composter-mcp init vscode # For Windsurf npx composter-mcp init windsurf
-
Restart your AI assistant
If you prefer manual setup, add to your IDE's MCP config file:
{
"mcpServers": {
"composter": {
"command": "npx",
"args": ["composter-mcp"]
}
}
}Config file locations:
- Claude Desktop (macOS):
~/Library/Application Support/Claude/claude_desktop_config.json - Claude Desktop (Linux):
~/.config/claude/claude_desktop_config.json - Claude Desktop (Windows):
%APPDATA%\Claude\claude_desktop_config.json - Cursor:
.cursor/mcp.json(in project root) - VS Code:
.vscode/mcp.json(in project root) - Windsurf:
~/.codeium/windsurf/mcp_config.json
| Tool | Description |
|---|---|
search_components |
Search components by name or category |
list_categories |
List all categories in your vault |
list_components |
List all components in a category |
read_component |
Read the full source code of a component |
For detailed MCP documentation, see mcp/README.md.
We welcome contributions! Please see CONTRIBUTING.md for detailed setup instructions, development guidelines, and how to submit pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
- Better Auth β Authentication framework
- Prisma β Database ORM
- Sandpack β Live code preview
- Tailwind CSS β Styling
- shadcn/ui β UI components
- Model Context Protocol β AI integration
- @lobehub/icons β Beautiful icons
- Discussions: Ask questions and share ideas
- Issues: Report bugs or request features
- Contributing: Read our contribution guide
- Security: Report vulnerabilities
Thanks to all our contributors! π




