感谢您考虑为我们的项目做出贡献!本指南将帮助您了解如何参与项目开发,包括提交代码、报告问题、提出建议等各个方面。我们重视每一位贡献者的付出,并致力于使贡献过程尽可能顺畅。
我们采用 贡献者公约 作为行为准则。作为项目参与者,您需要遵守以下原则:
- 使用友善和包容的语言
- 尊重不同的观点和经验
- 耐心地接受建设性批评
- 关注于最有利于社区的事情
- 对其他社区成员表示同理心
如发现违反行为准则的情况,请通过 邮箱 报告。
如果这是您第一次为开源项目做贡献,我们为您准备了详细的步骤:
- 在 GitHub 上注册账号
- Fork 本项目仓库
- 克隆您的 Fork 到本地:
git clone https://github.com/您的用户名/view-shadcn-ui.git cd view-shadcn-ui
- 创建新分支:
git checkout -b my-contribution
- 进行修改并提交
- 推送到您的 Fork:
git push origin my-contribution
- 创建 Pull Request
我们专门为新手准备了标记为 good first issue
的任务,这些是很好的起点。
提交 Bug 报告时,请使用我们提供的 Issue 模板,并包含以下信息:
### 问题描述
[清晰简洁地描述 Bug]
### 复现步骤
1. 进入到 '...'
2. 点击 '....'
3. 滚动到 '....'
4. 发现错误
### 预期行为
[描述应该发生什么]
### 实际行为
[描述实际发生了什么]
### 环境信息
- 操作系统:[例如 Windows 10]
- 浏览器:[例如 Chrome 90.0]
- 项目版本:[例如 v1.2.3]
### 其他信息
[如截图、错误日志等]
新功能建议应包含:
- 功能描述
- 使用场景
- 预期效果
- 可能的实现方案
- 替代方案考虑
请使用 Feature Request 模板创建 Issue。
- 确保本地开发环境配置正确
- 创建特性分支:
git checkout -b feature/your-feature-name
- 编写代码和测试用例
- 运行测试套件:
npm run test
- 提交代码(遵循提交规范)
- 保持分支与主仓库同步:
git remote add upstream https://github.com/devlive-community/view-shadcn-ui.git git fetch upstream git rebase upstream/dev
文档是项目的重要组成部分,我们欢迎:
- 修正文档错误
- 改进文档描述
- 添加代码示例
- 编写教程
- 选择或创建 Issue
- 在 Issue 中讨论实现方案
- 编写代码和测试
- 提交 Pull Request
- 代码审查
- 合并代码
我们使用以下工具确保代码风格一致:
- ESLint:JavaScript/TypeScript 代码检查
- Prettier:代码格式化
- EditorConfig:编辑器配置
项目根目录包含相关配置文件:
.
├── .eslintrc.js
├── .prettierrc
└── .editorconfig
在提交代码前运行:
pnpm run lint
pnpm run format
我们使用严格的提交信息格式:
<类型>(<范围>): <描述>
[可选 正文]
[可选 脚注]
类型必须是以下之一:
feat
: 新功能fix
: Bug 修复docs
: 仅文档更改style
: 不影响代码含义的更改(空格、格式化等)refactor
: 既不修复错误也不添加功能的代码更改perf
: 提高性能的代码更改test
: 添加或修正测试chore
: 构建过程或辅助工具的变动revert
: 撤销之前的提交
范围应该是受影响的模块名称。
示例:
feat(auth): 实现基于 JWT 的身份验证
- 添加 JWT 中间件
- 实现令牌生成和验证
- 添加用户认证路由
- 集成 Redis 存储刷新令牌
close (#123)
PR 标题应遵循与提交消息相同的格式。PR 描述应包含:
- 相关 Issue 链接
- 改动说明
- 测试方法
- 截图(如适用)
- 文档更新(如适用)
PR 检查清单:
- 代码符合项目风格指南
- 添加/更新测试用例
- 更新相关文档
- 所有 CI 检查通过
- 至少一位维护者审查通过
-
系统要求:
- Node.js >= 16
- pnpm >= 7
- Git
-
安装依赖:
pnpm install
-
启动开发服务器:
pnpm run dev
.
├── src/ # 源代码目录
│ ├── ui/ # 组件
│ └── utils/ # 工具函数
└── docs/ # 文档
dev
: 主分支,始终保持稳定dev
: 开发分支feature/*
: 新功能分支bugfix/*
: Bug 修复分支release/*
: 发布分支hotfix/*
: 紧急修复分支
- 从
dev
创建release
分支 - 更新版本号(遵循 语义化版本)
- 更新 CHANGELOG.md
- 进行发布测试
- 合并到
dev
- 打标签并发布
Q: 如何处理合并冲突?
A: 保持分支同步,使用 git rebase
而不是 merge
,必要时与其他贡献者协调。
Q: 测试失败怎么办? A: 检查测试日志,确保所有依赖都正确安装,并且环境变量配置正确。
Q: 需要多久才能得到 PR 审查? A: 我们努力在 2 个工作日内回复所有 PR。
- 查阅 文档
- 在 Discussions 中提问
- 加入我们的 Discord 社区
- 发送邮件至 [email protected]
我们会在 README 中致谢所有贡献者。重要贡献者也会被邀请成为项目维护者。
感谢您为开源社区做出的贡献!