An open source design system that's fully customizable and agent ready
★ 21,157⑂ 1,625👁 82⑃ 8,978● 1,686▤ 45◈ 5
21,157
stars
+3,142
1,625
forks
82
watchers
8,978
prs
1,686
issues
45
releases
5
discussions
README
Astryx
An open source design system that's fully customizable and built for how we build now: by people and the agents working alongside them.
Currently in Beta · Built on React 19+ and StyleX
Docs · Storybook · Sandbox · Contributing · Discord
Overview
Astryx is an open source design system that grew inside Meta over the last eight years, where it became the most-used and largest design system in the company — powering 13,000+ apps and shaped by the engineers, designers, and product teams who depend on it every day.
It ships 150+ accessible components, brand-level theming, dark mode, ready-to-ship templates, and a CLI as one cohesive system. You import pre-built CSS and use typed React components — no build plugin, no styling library to adopt — and both people and AI assistants build with the same tooling.
What makes Astryx different:
- Open internals. Components are built to be composed at any level, not locked behind a closed top-level API. The building blocks you'd reach for are exported directly, and when you need to go deeper, swizzle ejects a component's full source into your project to own.
- No styling lock-in. Astryx authors its styles with StyleX, but that's invisible to consumers. Override with className using Tailwind, CSS modules, or plain CSS — whatever your project already uses.
- Customize without wrapping. A theme is a set of CSS custom property overrides, so a designer can make Astryx unmistakably theirs without forking or wrapping component source.
- Built for people and agents. The API, docs, and CLI are designed together so a person and an AI assistant build the same way, from the same reference.
Getting Started
Astryx requires React 19 or later (react and react-dom are peer dependencies of @astryxdesign/core).
Install Astryx, a theme, and its peer dependencies:
bash
npm
npm install @astryxdesign/core @astryxdesign/theme-neutral @stylexjs/stylex
npm install -D @astryxdesign/cli
pnpm
pnpm add @astryxdesign/core @astryxdesign/theme-neutral @stylexjs/stylex
pnpm add -D @astryxdesign/cli
yarn
yarn add @astryxdesign/core @astryxdesign/theme-neutral @stylexjs/stylex
yarn add -D @astryxdesign/cli
You can also install the CLI once for your computer, so astryx works in any folder and every coding agent knows Astryx; in a project, it still runs that project's own version:
bash
npm i -g @astryxdesign/cli
Project install, global install, or both? astryx docs global/project-global-or-both compares them (both is recommended), and astryx docs global explains how global mode works.
The simplest setup is a few CSS imports plus a theme provider — no build plugin, no PostCSS or Babel config. See the @astryxdesign/core README for the full guide (Next.js, Tailwind, Vite, and CDN).
For reliable CLI access, add a script to your package.json:
json
"scripts": {
"astryx": "node node_modules/@astryxdesign/cli/clients/cli/bin/astryx.mjs"
}
Then use it as npm run astryx -- component --list. This avoids path erroTop issues
#3164Vibe Test — API Concerns (rolling)27 comments · 2026-06-26#958Edge compensation: deriving spacing/radius/size relationships from visual intent17 comments · 2026-03-29#977feat: charts — compositional d3 chart system (@astryxdesign/charts) + declarative Vega wrapper (@astryxdesign/vega)15 comments · 2026-03-30#918feat(theme): Brand Theming — multi-brand theme creation, distribution, and governance8 comments · 2026-03-27#4664[Bug] lab/Drawer hardcodes its close delay against a themeable hold1 comments · 2026-08-03#3335TabList uses the navigation-links pattern, not ARIA Tabs (no role=tab/tabpanel, aria-selected, or arrow-key navigation)7 comments · 2026-07-01#3636[Tracker] i18n & RTL support — string injection + RTL correctness1 comments · 2026-07-06#3343Accessibility & keyboard-management program: build shared interaction primitives, then migrate components6 comments · 2026-07-02
Discussions
#6510Any plans for an actual DateTime field equivalent to an input of type "datetime-local"?0 comments · 2026-09-24#5571Request for a proper Modal component1 comments · 2026-08-26#3921PowerSearch typeahead: label-only matching vs key — intentional?1 comments · 2026-07-13#3430Add visual regression testing0 comments · 2026-07-02#3417Any plans for React Native support?2 comments · 2026-07-02
Latest release
Astryx v0.7.11 v0.7.11 2026-11-07Astryx 0.7.11 — all @astryxdesign/ packages ship at this version. bash OLD_VERSION=0.7.10 replace with the Core version your project uses today npm install @astryxdesign/[email protected] @astryxdesign/[email protected] plus every other @astryxdesign/ package you use, at 0.7.11 npx @astryxdesign/cli upgrade --from "$OLD_VERSION" --apply --path . @astryxdesign/core New Features - Under a finger (a coarse primary pointer, on any touch device), Popover grows out of its trigger, wide before tall, with its edge held on the trigger, and shrinks back into the trigger when it closes. The growth plays th
相关报道 (2)
News & coverage (11)
Hacker NewsAstryx: An open source design system that's customizable and agent ready▲ 3 · 1 comments · 2026-11-08noteChoose UI libraries based on whether agents can look up their specifications2026-11-09Blockchain NewsO Astryx de Código Aberto da Meta Dispara no GitHub com 15,080 Estrelas2026-11-08InfoQMeta Open-Sources Astryx, its Agent-Ready React Design System2026-09-13opensourceforuGitHub-Trending Astryx Brings AI-Ready Open Source To React2026-07-17techtimesMeta’s Astryx Returns to GitHub Trending: JSON Manifest Stops AI Agents From Hallucinating UI Props2026-07-16opensourceforuMeta Open-Sources Astryx: An AI-Agent-Ready React Design System2026-06-29marktechpostMeta’s Astryx Brings a CLI and MCP Server to an Open-Source React Design System Agents Can Read2026-06-27techtimesMeta’s Astryx Gives AI Coding Agents a Design System They Can Actually Read2026-06-27Blockchain NewsMeta's Open-Source Astryx Surges on GitHub with 15,080 Stars2026-11-08