repowiserepowise
Sign in
shadcn-ui/ui
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowiseshadcn-ui/ui
UI
UI

shadcn-ui / ui

Composable, accessible components with thoughtful defaults. Build your own component library with code you can customize, extend, and make your own.

TypeScript★ 125,570Curated
Use in your agentAsk this codebase

github.com/shadcn-ui/ui·Indexed at 30a58d4·2d ago·Up to date with upstream·Refreshes weekly

About this codebase

Repowise is a documentation engine for `shadcn/ui`: it consumes the component registry sources (code + presets) and user-facing templates, runs codemods and schema/preset analysis to build an internal “registry + content” index, then produces publishable UI documentation pages and component library metadata served to developers via the documentation surface (e.g., `https://ui.shadcn.com/docs`).

Written by gpt-5.4-nano from the index

5,111 files and 10,973 symbols in 7 modules, led by TypeScript (3,777 files) and JavaScript (34).

Start reading

  • Knowledge graph5,111 files and how they depend on each other.→
  • App Shell And SectionsDocumentationDocumentation for apps/v4/app/(app), written by gpt-5.4-nano.→
  • Avoid full server navigation on undo/redo by routing through shared shallow search-params updateDecisionProposed decision, from a pull request.→

Code health

9.1out of 10Excellent

This codebase scores 9.1 out of 10 for code health, which we rate excellent. It also scores maintainability 8.9 and static performance 9.9 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 150 of 5,111 files are git hotspots, and they average 7.6 — which is where the fixes pay off most.

Full health report →

On the leaderboards:#2 of 43 TypeScript repos

Do next

1 thing worth doing in the week to Oct 12, the last indexed commit, 1 of them now.

Now

  • High

    Simplify recursivelyResolveFileImports in packages/registry/src/registry/resolve-file-imports.ts while the change is fresh

    1 commit in the last 7 days added or worsened 3 critical or high findings here, still open. Fixing now costs less than after the next change.

    serious findings
    3
    critical
    0
    latest commit
    perf(registry): load ts-morph only for addRegistryItems (#12146)
    Small effort

Improve what Repowise can see

  • Add a test coverage report

    Without one, Repowise cannot tell tested code from untested code, so every test-related action says “unknown”.

    line coverage
    Unknown, no report
    Small effort
All actions in the Overview →

Use shadcn-ui/ui in your agent

Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.

https://api.repowise.dev/mcp/shadcn-ui/ui

One command, run anywhere. Adds the server to your local Claude Code config.

Docs
bash
claude mcp add --transport http repowise https://api.repowise.dev/mcp/shadcn-ui/ui \
  --header "Authorization: Bearer rw_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
The snippet shows a placeholder key. Generate one to get a copyable secret.
Sign in and create an API key to connect.Sign in

This repo is public, so anyone with a Repowise account and an API key can connect.

Try asking

  • get_overview()
  • get_answer("how is ui put together?")
  • get_why("why is ui structured this way?")

Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.

Go deeper

  • OverviewEverything the index found, what changed this week, commits and decisions.→
  • DocumentationModule-by-module documentation, 4,230 pages, 68 written by a model.→
  • ArchitectureDependency graph, layers and third-party dependencies.→
  • Code healthEvery file's score, the findings behind it, tests and refactoring plans.→
  • CommitsEach commit's effect on code health, with agent provenance.→
  • ContributorsWho owns what, and where one person holds most of the knowledge.→
  • DecisionsArchitectural decisions mined from commits and pull requests.→
  • Ask this codebaseSign inGrounded answers over the indexed code.→

Maintain this repo? Claim the page

Sign in with GitHub and we check that you are an admin or maintainer of shadcn-ui/ui. Then add a badge to the README that links readers here.

Use this repo from Claude or ChatGPT

Add this URL as a custom connector and sign in with repowise when asked. No API key to copy.

https://api.repowise.dev/mcp/shadcn-ui/ui
Sign up to connect

For maintainers

Add a badge to your README

Every badge is public, cached, and updates on its own after every index. Nothing to install.

Repowise badge

Links to this page, with no score on it. Adding it also re-indexes the repo every week.

Repowise badge preview
[![repowise.dev](https://api.repowise.dev/badge/wiki/shadcn-ui/ui.svg)](https://repowise.dev/repo/shadcn-ui/ui?src=badge_wiki)

Code health badge

The repo's health score out of 10, from the latest index.

Code health badge preview
[![repowise.dev code health](https://api.repowise.dev/badge/health/shadcn-ui/ui.svg)](https://repowise.dev/repo/shadcn-ui/ui?src=badge_health)

Code health card

A larger card with the score, its change since the last index, and when it was measured. The HTML version follows the reader's light or dark theme.

Code health card preview
[![repowise.dev code health](https://api.repowise.dev/badge/health/shadcn-ui/ui.svg?style=card)](https://repowise.dev/repo/shadcn-ui/ui?src=badge_card)

What is ui?

ui is a set of customizable, accessible components for building your own component library. It provides component code with defaults that developers can extend and adapt. The project is primarily written in TypeScript and uses the npm ecosystem.

Written by a model from the README and the index

Key features of ui

  • ui provides designed components that developers can customize, extend, and build on.
  • ui is intended for building a custom component library.
  • ui provides open-source, open-code components.
  • ui includes registry and template packages for component and application setup.

How shadcn-ui/ui works

ui organizes component and template functionality across apps, packages, and templates. The registry entry point at packages/registry/src/registry/index.ts provides access to registry data. The shadcn package entry point at packages/shadcn/src/index.ts exposes package functionality, while packages/shadcn/src/templates/start.ts handles template startup. The apps/v4 directory provides the application and registry surface, including apps/v4/registry/__index__.tsx for registry indexing. The templates directory supplies bootstrapped client applications, including templates/vite-app/src/App.tsx and templates/vite-app/src/main.tsx.

Composable, accessible components with thoughtful defaults. Build your own component library with code you can customize, extend, and make your own. This page is a map of the shadcn-ui/ui repository, written primarily in TypeScript, rebuilt from the source each time it is indexed. Repowise parses every symbol, computes a dependency graph, scores per-file code health from complexity, duplication, test coverage and churn, mines git history for hotspots and ownership, and lifts the architectural decisions into documentation you can read here or query through MCP.

The codebase has 5,111 files and 10,973 symbols in 7 modules, led by TypeScript, JavaScript and Dockerfile. Code health is 9.1 out of 10, rated excellent.

Use the links above to open each view, or connect this repository to your agent for grounded answers inside Claude, Cursor, Codex or VS Code.

shadcn-ui/ui FAQ

What is ui?

ui is a set of customizable, accessible components for building your own component library. The project provides open-source component code that developers can extend and adapt.

How does ui work?

ui organizes registry data, package utilities, application code, and starter templates across its TypeScript modules. Registry and template entry points connect reusable components with application setup.

What language is ui written in?

ui is primarily written in TypeScript. The repository also includes JavaScript, Dockerfile, and shell files.

How is the ui code organized?

ui is organized into apps, packages, templates, skills, scripts, and root configuration files. The packages directory handles registry and template plumbing, while apps and templates provide application surfaces and bootstrapped clients.

Who is ui for?

ui is for developers who want to build their own component library. Its components are intended to be customized, extended, and adapted.

What license does ui use?

ui uses the MIT license.

Answers written by a model from the README and the index