chakra-ui

Accessible, themeable React UI components built on Ark UI primitives with a Panda CSS-powered styling engine.

Library
npm
v3.37.0
40,631stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
91/100Excellent
Development Activity96
Maintenance100
Community68
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
87/100Excellent
Architecture88
Code Quality90
Innovation78
Learning Curve90

Chakra UI is a React component library for building accessible, high-quality web apps and design systems with speed. The @chakra-ui/react package ships over 100 components — from primitives like Box and Stack to composite pieces like Combobox, DatePicker, Carousel, and ColorPicker — all built on top of Ark UI’s headless, WAI-ARIA-compliant primitives, so interaction and accessibility logic is inherited rather than reimplemented per component.

Styling runs through an internal recipe-based engine (forked from Emotion, extended with Panda CSS-aware style props and design tokens) that lets every component be restyled through design tokens, semantic tokens, and slot recipes without ejecting to raw CSS. The project is a small monorepo alongside companion packages (@chakra-ui/cli for codemods and typegen, @chakra-ui/panda-preset for using the design system with Panda CSS directly, @chakra-ui/charts for chart primitives, and @chakra-ui/react-mcp, a Model Context Protocol server that exposes the component API to AI coding assistants).

What You Get

  • Over 100 pre-built, accessible React components covering layout, forms, overlays, navigation, data display, and feedback (Button, Combobox, DatePicker, Carousel, ColorPicker, Drawer, and more)
  • A recipe-based styling engine with design tokens, semantic tokens, and slot recipes for theming every component without writing raw CSS
  • First-class integration with Ark UI headless primitives, so components inherit WAI-ARIA-compliant keyboard/focus/screen-reader behavior rather than reimplementing it
  • A companion @chakra-ui/cli package for typegen and automated codemods when upgrading between major versions
  • A @chakra-ui/panda-preset package to use Chakra’s design tokens directly inside a Panda CSS setup
  • A @chakra-ui/react-mcp Model Context Protocol server that lets AI coding assistants query the live component API

Common Use Cases

  • Bootstrapping a production web app’s UI layer with accessible components out of the box, without a design system built from scratch
  • Building an internal design system on top of Chakra’s theming/recipe primitives instead of a raw CSS-in-JS library
  • Composing custom, brand-specific component variants via slot recipes and semantic tokens while keeping Ark UI’s accessibility guarantees
  • Migrating between Chakra major versions using the bundled @chakra-ui/cli codemods
  • Adding AI-assisted development workflows via the @chakra-ui/react-mcp server for component/API lookups inside an editor

Under The Hood

Architecture Chakra UI’s @chakra-ui/react package sits in a small monorepo (packages/react, panda-preset, cli, codemod, charts) that separates a low-level styling engine from the component layer: src/styled-system/factory.tsx forks Emotion’s styled implementation to bridge className generation with React’s style-tag hoisting, while create-recipe-context.tsx and recipe-props.tsx wire component variants to Panda-CSS-style recipes. Every component under src/components/* composes these primitives with an equivalent headless component from Ark UI rather than owning its own DOM/ARIA behavior, giving a layered structure — Ark UI handles interaction and accessibility state, the styled-system layer handles styling and theming, and the component layer is a thin, typed wrapper (context-based prop providers, e.g. createRecipeContext in button.tsx) that connects the two. Changing the core recipe/token engine ripples through all components, but each component itself stays small and independently swappable.

Tech Stack Written entirely in TypeScript with tsgo for fast type-checking, the package builds on Emotion (@emotion/react, @emotion/serialize, @emotion/utils) for CSS-in-JS, Ark UI (@ark-ui/react) for headless accessible primitives, and @pandacss/is-valid-prop for design-token-aware style props. The monorepo uses pnpm workspaces with Changesets for versioning and release, a custom bundler script for ESM/CJS/type-declaration output, Storybook for component development, and a separate Next.js documentation site for the public docs.

Code Quality Testing uses Vitest with @testing-library/react and vitest-axe, which extends every test’s assertions with automated accessibility checks, plus dedicated benchmark files for performance-sensitive utilities. Dozens of test files cover styling utilities, ref-merging behavior across React versions, and individual components. TypeScript runs in strict mode, ESLint and Prettier are enforced via Husky pre-commit hooks, and CI runs a dedicated quality workflow on every change. Naming and typing stay consistent (explicit prop interfaces per component), and error handling favors typed context errors over silent failures.

What Makes It Unique Rather than building its own headless interaction layer, Chakra UI’s current major version was rebuilt on top of Ark UI — a separate headless component library from the same maintainers — with Panda-CSS-derived design tokens and recipes layered on top, decoupling what a component does from how it looks more thoroughly than most comparable kits. Accessibility isn’t just documented; it’s enforced in CI through automated axe assertions on the real component test suite. The project also ships a Model Context Protocol server package that lets AI coding assistants query the component API directly, an unusual investment in AI-tooling integration for a UI library at this stage.

Used by 20 apps in this directory

Python
90%
Apache 2.0

Apache Airflow

Data Engineering

46,755

Define, schedule, and monitor complex data workflows as Python code — with a powerful UI, 80+ provider integrations, and battle-tested scalability across thousands of production deployments.

View details
96
Repo Health
89
Technical
64
Dependency
Built with
Python90%
Updated yesterday
Python
90%
Apache 2.0

Apache Airflow

Data Engineering

46,755

Define, schedule, and monitor complex data workflows as Python code — with a powerful UI, 80+ provider integrations, and battle-tested scalability across thousands of production deployments.

View details
96
Repo Health
89
Technical
64
Dependency
Built with
Python90%
Updated yesterday
Rust
86%
Other

Arroyo

Data Engineering · Analytics

5,029

A distributed stream processing engine written in Rust that lets you write SQL to run stateful, real-time computations over data streams with subsecond results.

View details
86
Repo Health
74
Technical
62
Dependency
Built with
Rust86%
Updated 3 days ago
Rust
86%
Other

Arroyo

Data Engineering · Analytics

5,029

A distributed stream processing engine written in Rust that lets you write SQL to run stateful, real-time computations over data streams with subsecond results.

View details
86
Repo Health
74
Technical
62
Dependency
Built with
Rust86%
Updated 3 days ago
Rust
86%
Other

Arroyo

Data Engineering · Analytics

5,029

A distributed stream processing engine written in Rust that lets you write SQL to run stateful, real-time computations over data streams with subsecond results.

View details
86
Repo Health
74
Technical
62
Dependency
Built with
Rust86%
Updated 3 days ago
Rust
86%
Other

Arroyo

Data Engineering · Analytics

5,029

A distributed stream processing engine written in Rust that lets you write SQL to run stateful, real-time computations over data streams with subsecond results.

View details
86
Repo Health
74
Technical
62
Dependency
Built with
Rust86%
Updated 3 days ago
Rust
86%
Other

Arroyo

Data Engineering · Analytics

5,029

A distributed stream processing engine written in Rust that lets you write SQL to run stateful, real-time computations over data streams with subsecond results.

View details
86
Repo Health
74
Technical
62
Dependency
Built with
Rust86%
Updated 3 days ago
Go
75%
AGPL 3.0

Coder

Devops · Developer Tools · Code Editors

14,385

Self-hosted cloud development environments and AI coding agents — defined in Terraform, connected via WireGuard, automatically shut down when idle.

View details
93
Repo Health
90
Technical
68
Dependency
Built with
Go75%
TypeScript23%
Updated today
TypeScript
89%
Other

FastGPT

AI Agents · AI Development

29,591

Build, debug, and deploy knowledge-based AI agents with a visual workflow editor, RAG retrieval, and support for any OpenAI-compatible LLM.

View details
93
Repo Health
84
Technical
69
Dependency
Built with
TypeScript89%
Updated yesterday

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search