← 返回日报
🌐 机器翻译 · DeepSeek · GitHub

facebook astryx


Astryx

一个开源设计系统,完全可定制,专为当下构建方式而打造——由人类及其协作的智能体共同构建。 目前处于 Beta 阶段 · 基于 React 和 StyleX 构建

概述

Astryx 是一个开源设计系统,在过去八年中在 Meta 内部成长壮大,成为公司内使用最广泛、规模最大的设计系统——为 13,000 多个应用提供支持,并由每天依赖它的工程师、设计师和产品团队共同塑造。它作为一个统一的系统,提供了 150 多个无障碍组件、品牌级主题、深色模式、可直接使用的模板以及一个 CLI。你只需导入预构建的 CSS 并使用带类型的 React 组件——无需构建插件,也无需采用新的样式库——无论是人类还是 AI 助手,都使用相同的工具进行构建。

Astryx 的与众不同之处:

安装 Astryx 和一个主题:

# npm
npm install @astryxdesign/core @astryxdesign/theme-neutral
npm install -D @astryxdesign/cli

# pnpm
pnpm add @astryxdesign/core @astryxdesign/theme-neutral
pnpm add -D @astryxdesign/cli

# yarn
yarn add @astryxdesign/core @astryxdesign/theme-neutral
yarn add -D @astryxdesign/cli

最简单的设置只需几个 CSS 导入加上一个主题提供者——无需构建插件,无需 PostCSS 或 Babel 配置。完整指南(Next.js、Tailwind、Vite 和 CDN)请参见 @astryxdesign/core 的 README。

为了可靠地使用 CLI,请在 package.json 中添加一个脚本:

"scripts": {
  "astryx": "node node_modules/@astryxdesign/cli/bin/astryx.mjs"
}

然后使用 npm run astryx -- component --list 运行。这可以避免 AI 助手或新开发者直接调用 CLI 时出现路径错误。

| 包 | 描述 | README | |---|---|---| | @astryxdesign/core | 组件、主题系统和工具 | README | | @astryxdesign/cli | CLI 工具:组件文档、模板、脚手架、主题和 codemods | README | | @astryxdesign/build | StyleX 源码构建的构建插件 | README | | @astryxdesign/theme-* | 七个现成、完全可定制的主题(neutral、butter、chocolate、matcha、stone、gothic、y2k) | README |

@astryxdesign/lab(实验性组件)和 @astryxdesign/vega(Vega/Vega-Lite 图表包装器)在内部用于 Storybook 和沙盒;尚未发布到 npm。

原则

以下是 Astryx 对其构建者做出的承诺:

构建视觉协调且无障碍界面的基础模块:排版、色彩、布局和无障碍性。

组件

150 多个可复用的 UI 构建块库,完全支持 TypeScript。

模式

经过实战检验的设计解决方案,适用于常见交互和工作流程:表格页面、详情页面布局、表单向导、导航模式、数据录入流程。

项目结构

| 目录 | 用途 | |---|---| | apps/ | 示例应用、文档站点和 Storybook | | packages/ | 已发布的包:core、cli、build、themes | | internal/ | 内部工具:测试工具、eslint 插件、vibe 测试 |

贡献

我们欢迎贡献!完整指南请参见 CONTRIBUTING.md

贡献者快速入门:本仓库通过 Corepack 使用 pnpm 10。启用一次后,正确的 pnpm 版本会自动安装:

corepack enable
pnpm install

许可证

MIT

📖 阅读原文 →