50 lines
1.9 KiB
Markdown
50 lines
1.9 KiB
Markdown
# 贡献指南
|
||
感谢你的宝贵时间。你的贡献将使这个项目变得更好!在提交贡献之前,请务必花点时间阅读下面的入门指南。
|
||
|
||
## 语义化版本
|
||
该项目遵循语义化版本。我们对重要的漏洞修复发布修订号,对新特性或不重要的变更发布次版本号,对重大且不兼容的变更发布主版本号。
|
||
|
||
每个重大更改都将记录在 `changelog` 中。
|
||
|
||
## 提交 Pull Request
|
||
1. Fork [此仓库](https://github.com/Chanzhaoyu/chatgpt-web),从 `main` 创建分支。新功能实现请发 pull request 到 `feature` 分支。其他更改发到 `main` 分支。
|
||
2. 使用 `npm install pnpm -g` 安装 `pnpm` 工具。
|
||
3. `vscode` 安装了 `Eslint` 插件,其它编辑器如 `webStorm` 打开了 `eslint` 功能。
|
||
4. 根目录下执行 `pnpm bootstrap`。
|
||
5. `/service/` 目录下执行 `pnpm install`。
|
||
6. 对代码库进行更改。如果适用的话,请确保进行了相应的测试。
|
||
7. 请在根目录下执行 `pnpm lint:fix` 进行代码格式检查。
|
||
8. 请在根目录下执行 `pnpm type-check` 进行类型检查。
|
||
9. 提交 git commit, 请同时遵守 [Commit 规范](#commit-指南)
|
||
10. 提交 `pull request`, 如果有对应的 `issue`,请进行[关联](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)。
|
||
|
||
## Commit 指南
|
||
|
||
Commit messages 请遵循[conventional-changelog 标准](https://www.conventionalcommits.org/en/v1.0.0/):
|
||
|
||
```bash
|
||
<类型>[可选 范围]: <描述>
|
||
|
||
[可选 正文]
|
||
|
||
[可选 脚注]
|
||
```
|
||
|
||
### Commit 类型
|
||
|
||
以下是 commit 类型列表:
|
||
|
||
- feat: 新特性或功能
|
||
- fix: 缺陷修复
|
||
- docs: 文档更新
|
||
- style: 代码风格或者组件样式更新
|
||
- refactor: 代码重构,不引入新功能和缺陷修复
|
||
- perf: 性能优化
|
||
- test: 单元测试
|
||
- chore: 其他不修改 src 或测试文件的提交
|
||
|
||
|
||
## License
|
||
|
||
[MIT](./license)
|