为 Chakra UI 贡献
Chakra UI v3.0 贡献指南
感谢你有兴趣为 Chakra UI 做出贡献💖,你太棒了!
¥Thanks for showing interest to contribute to Chakra UI 💖, you rock!
概述
¥Overview
以下是一些可以帮助你改进 Chakra UI 的方法
¥Here are a few ways you can help improve Chakra UI
-
改进文档:添加新的演示、修复拼写错误或添加缺失信息。
-
添加新演示:为网站和故事书添加新的组件演示。向
apps/compositions/src/examples
提交 PR -
修复错误:报告错误、修复错误或添加缺失的功能。
-
贡献代码:通过创建 Github 讨论区来提出新功能,或查找现有错误进行修复。
-
改进代码:改进代码、修复错误或添加缺失的功能。
我们欢迎所有贡献,无论大小。
¥We welcome all contributions, no matter how big or small.
架构
¥Architecture
Chakra v3.x 由 Chakra 生态系统中的两个项目 Ark UI 和 Zag.js 组成。目标是在 Chakra UI 中维护尽可能少的代码,并将繁重的工作委托给这些项目。
¥Chakra v3.x is a composition of two projects in the Chakra ecosystem, Ark UI and Zag.js. The goal is to maintain as little code as possible in Chakra UI, and delegate the heavy lifting to these projects.
Zag.js
Component logic modelled as a state machine
Ark UI
State machine from Zag.js converted to headless UI components
归档问题
¥Filing Issues
在 Chakra v3.x 上提交问题的思路如下:
¥The mindset for filing issues on Chakra v3.x works like this:
-
如果问题出在逻辑或可访问性方面,那么很可能是 Zag.js 中的错误。考虑在 Zag.js 代码库中提交一个问题。
-
如果是样式问题,你可以直接在 Chakra UI 代码库中修复。
功能请求
¥Feature Requests
在 Chakra v3.x 上提交功能请求的思路如下:
¥The mindset for filing feature requests on Chakra v3.x works like this:
-
如果该功能是一个不具有逻辑的新组件,则可以将其放入 Chakra UI 或 Ark UI。在 Chakra UI 代码库 上发起讨论
-
如果该功能是一个具有逻辑的新组件,则它属于 Zag.js。在 Zag.js 代码库 上发起讨论。
本地设置
¥Local Setup
- 克隆代码库
git clone https://github.com/chakra-ui/chakra-ui.git
- 使用 pnpm 安装依赖
pnpm install
- 构建所有包的本地版本
pnpm build:fast
- 启动故事书
pnpm storybook
- 启动文档网站
pnpm www dev
- 运行测试
pnpm test
推荐扩展
¥Recommended Extensions
我们建议在编辑器中使用以下扩展程序:
¥We recommend using the following extensions in your editor: