bag-ui

BagUI is a curated registry of modern shadcn/ui components, animated sections, and production-ready blocks designed to help developers build beautiful interfaces in minutes.

0
0
0
public
Forked

BagUi Logo

BagUi

A modern, open-source registry of UI components, blocks, and ready-to-use sections — built to help developers ship polished interfaces faster with shadcn/ui.

Live Site · Getting Started · Contributing · Project Structure

License Next.js TypeScript Tailwind CSS PRs Welcome

BagUi Preview

Built by Anelka Bag


✨ About

BagUi is an open-source component registry offering a growing collection of production-ready UI blocks, sections, and components — navbars, heroes, footers, pricing tables, CTAs, and more — built with a strong focus on clean design and smooth animations.

Tech Stack


🚀 Getting Started

Prerequisites

1. Clone the repository

git clone https://github.com/anelkabag/bagui.git
cd bagui

2. Install dependencies

npm install

3. Run the development server

npm run dev

The app will be available at http://localhost:3000.


🤝 Contributing

BagUi is open source, and contributions are very welcome! Whether it’s a new component, a bug fix, or a documentation improvement — here’s how to get started.

1. Fork & branch

git checkout -b feat/my-new-component

2. Add your component to the registry

Components live in two places:

Type Path
Blocks registry/default/blocks
UI components registry/default/ui

Rules to follow:

3. Create the component file

export default function Navbar1() {
  return (
    <nav className="flex items-center justify-between p-4">
      <div className="font-semibold">BagUi</div>
      <div className="flex gap-3">Home</div>
    </nav>
  );
}

Keep it clean, reusable, and consistent with the project’s existing conventions.

4. Register it in registry.json

Add an entry for your component in the items section of registry.json:

{
  "name": "navbar1",
  "type": "registry:block",
  "title": "Navbar Example 1",
  "description": "Modern and responsive navigation.",
  "files": [
    {
      "path": "registry/default/blocks/navbar/navbar1.tsx",
      "type": "registry:block",
      "target": "components/blocks/navbar1.tsx"
    }
  ],
  "access": {
    "tier": "free"
  }
}

Checklist before saving:

5. Verify & build

npm run build
npm run registry:build

The first command makes sure the app compiles correctly. The second prepares and publishes your component to the registry.

6. Open a pull request

  1. Commit your changes with a clear message
  2. Push your branch
  3. Open a PR including:
    • the component name
    • what it adds / fixes
    • screenshots or a short screen recording, if possible

📁 Project Structure

bagui/
├── registry/
│   └── default/
│       ├── blocks/    # UI blocks & page sections (navbar, hero, footer, ...)
│       └── ui/         # Reusable base UI components
├── registry.json       # Registry manifest — lists all available components
└── public/              # Static assets

✅ Quick Checklist for a New Component


💡 Tips


📄 License

This project is licensed under the MIT License.


Made with ❤️ by Anelka Bag — contributions welcome!

v0.3.3[beta]