README.md

Col logo

Col

Sol could not do it himself, so we made Col.

A community-maintained directory for finding the right UI library without losing an afternoon to open tabs.

GitHub stars Open issues Pull requests Next.js TypeScript

Request a library · Request a feature · Report a bug · Contribute


21st.dev React Bits shadcn/ui Aceternity UI Mobbin

What Col does

Col organizes UI libraries by category, stack, and use case. Search from the homepage, then compare matching libraries in the directory.

  • Search by name, keyword, category, stack, or use case.
  • Filter libraries without leaving the directory.
  • Save useful libraries locally.
  • Open the official website or documentation from each listing.
  • Contribute missing libraries through a focused pull request.

Col catalogs libraries, not individual components.

Run it locally

Requirements: Node.js 20.9+ and npm.

bash
1git clone https://github.com/screen-gd/Col.git
2cd Col
3npm install
4npm run dev

Open http://localhost:3000.

Before opening a pull request:

bash
1npm run build

Request something

Use the matching issue form. One focused request per issue makes discussion and review easier.

Request a library

Open a library request when a useful UI library is missing.

Include:

  • the library name and official URL;
  • what it provides and who it helps;
  • its supported stacks;
  • the closest Col category and use cases;
  • confirmation that it is maintained and publicly accessible.

Search existing libraries, issues, and pull requests first.

Request a feature

Open a feature request for improvements to discovery, comparison, contribution, accessibility, or the library detail experience.

Explain the problem before proposing the interface. Include the expected outcome and any useful references.

Report a bug

Open a bug report with:

  • the page or action that failed;
  • exact reproduction steps;
  • expected and actual behavior;
  • browser, operating system, and viewport;
  • screenshots, recordings, or console errors when relevant.

Do not include secrets, tokens, private URLs, or personal information.

Add a library with a pull request

Library-only pull requests should be small and should not redesign unrelated parts of the site.

  1. Fork the repository and create a focused branch.
  2. Add one entry to data/libraries.ts.
  3. Reuse the existing category, stack, and use-case values when possible.
  4. Keep the description factual and short.
  5. Confirm the URL points to the official project.
  6. Run npm run build.
  7. Open a pull request using the provided template.
ts
1{
2 name: "Library name",
3 slug: "library-name",
4 description: "A factual one-sentence description of what the library provides.",
5 url: "https://library.example",
6 category: "Component Library",
7 stacks: ["React", "TypeScript"],
8 useCases: ["Rapid Prototyping"],
9 tags: ["accessible", "copy paste"],
10}

The slug must be unique, lowercase, and kebab-case. See CONTRIBUTING.md for the full checklist.

Dedicated library pages

Each library will have a dedicated Col page with:

  • a clear overview and best-fit use cases;
  • supported stacks and key capabilities;
  • official documentation, repository, and installation links;
  • useful comparisons and alternatives;
  • a copyable setup prompt for coding agents.

Agent setup prompt

Library pages will provide a prompt based on this structure:

text
1Help me add [LIBRARY] to my project.
2
3Project context:
4- Framework: [FRAMEWORK]
5- Language: [LANGUAGE]
6- Styling: [STYLING SYSTEM]
7- Package manager: [PACKAGE MANAGER]
8
9Use the current official [LIBRARY] documentation. Inspect the existing project before changing files. Install only the required packages, follow the project's established patterns, preserve accessibility, and avoid replacing unrelated code.
10
11After implementation:
121. Summarize the files changed.
132. Explain any configuration added.
143. Run the project's type-check and build commands.
154. Call out any manual setup still required.

When contributing a future detail page, keep the prompt specific to that library and link every installation claim to official documentation.

Project structure

text
1app/ Routes, layout, and global styles
2components/ Search, filters, cards, header, and shared UI
3data/libraries.ts The curated library registry
4public/brand/ Col brand assets
5public/hero-logos/ Library artwork used by the homepage
6.github/ Issue forms and pull request guidance

Built with

Next.js · React · TypeScript · Tailwind CSS · Radix UI · Lucide

Community

Be clear, constructive, and respectful. Contributions are welcome whether you are adding a library, improving metadata, fixing a bug, or making discovery easier.

Find better tools. Build better interfaces.