139 lines
2.5 KiB
Markdown
139 lines
2.5 KiB
Markdown
|
|
# Contributing to GetSkill
|
|||
|
|
|
|||
|
|
感谢您考虑为 GetSkill 做出贡献!
|
|||
|
|
|
|||
|
|
## 开发环境设置
|
|||
|
|
|
|||
|
|
1. Fork 本仓库
|
|||
|
|
2. 克隆您的 fork:
|
|||
|
|
```bash
|
|||
|
|
git clone https://github.com/YOUR_USERNAME/getskill.git
|
|||
|
|
cd getskill
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
3. 安装依赖(本项目无外部依赖):
|
|||
|
|
```bash
|
|||
|
|
npm install
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
4. 运行验证测试:
|
|||
|
|
```bash
|
|||
|
|
npm test
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 开发流程
|
|||
|
|
|
|||
|
|
1. 创建功能分支:
|
|||
|
|
```bash
|
|||
|
|
git checkout -b feature/your-feature-name
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. 进行更改并测试:
|
|||
|
|
```bash
|
|||
|
|
node verify.js
|
|||
|
|
node index.js [command]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
3. 提交更改:
|
|||
|
|
```bash
|
|||
|
|
git add .
|
|||
|
|
git commit -m "描述您的更改"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
4. 推送到您的 fork:
|
|||
|
|
```bash
|
|||
|
|
git push origin feature/your-feature-name
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
5. 创建 Pull Request
|
|||
|
|
|
|||
|
|
## 代码规范
|
|||
|
|
|
|||
|
|
- 使用 Node.js 内置模块(避免外部依赖)
|
|||
|
|
- 遵循现有的代码风格
|
|||
|
|
- 添加适当的注释和文档
|
|||
|
|
- 保持跨平台兼容性(Windows/macOS/Linux)
|
|||
|
|
- 函数应包含 JSDoc 注释
|
|||
|
|
|
|||
|
|
## 提交信息规范
|
|||
|
|
|
|||
|
|
遵循 [Conventional Commits](https://www.conventionalcommits.org/) 规范:
|
|||
|
|
|
|||
|
|
- `feat:` 新功能
|
|||
|
|
- `fix:` 错误修复
|
|||
|
|
- `docs:` 文档更新
|
|||
|
|
- `style:` 代码格式化
|
|||
|
|
- `refactor:` 代码重构
|
|||
|
|
- `test:` 测试相关
|
|||
|
|
- `chore:` 构建/工具相关
|
|||
|
|
|
|||
|
|
示例:
|
|||
|
|
```
|
|||
|
|
feat: add support for private Git repositories
|
|||
|
|
fix: handle network timeout errors
|
|||
|
|
docs: update installation guide
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 测试
|
|||
|
|
|
|||
|
|
在提交 PR 前,请确保:
|
|||
|
|
|
|||
|
|
1. 运行验证脚本:
|
|||
|
|
```bash
|
|||
|
|
npm test
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. 在不同平台测试(如果可能):
|
|||
|
|
- Windows
|
|||
|
|
- macOS
|
|||
|
|
- Linux
|
|||
|
|
|
|||
|
|
3. 测试所有命令:
|
|||
|
|
- `search`
|
|||
|
|
- `install`
|
|||
|
|
- `update`
|
|||
|
|
- `list`
|
|||
|
|
- `path`
|
|||
|
|
- `clean`
|
|||
|
|
|
|||
|
|
## 报告问题
|
|||
|
|
|
|||
|
|
如果您发现 bug 或有功能建议:
|
|||
|
|
|
|||
|
|
1. 检查 [Issues](https://github.com/workskills/getskill/issues) 中是否已存在
|
|||
|
|
2. 创建新 Issue,包含:
|
|||
|
|
- 清晰的标题和描述
|
|||
|
|
- 复现步骤(针对 bug)
|
|||
|
|
- 预期行为和实际行为
|
|||
|
|
- 系统信息(OS、Node.js 版本)
|
|||
|
|
- 相关日志或截图
|
|||
|
|
|
|||
|
|
## 功能建议
|
|||
|
|
|
|||
|
|
我们欢迎新功能建议!在开始开发前:
|
|||
|
|
|
|||
|
|
1. 创建 Issue 讨论您的想法
|
|||
|
|
2. 等待维护者的反馈
|
|||
|
|
3. 获得批准后再开始开发
|
|||
|
|
|
|||
|
|
## 文档
|
|||
|
|
|
|||
|
|
文档改进非常重要:
|
|||
|
|
|
|||
|
|
- README.md - 主要文档
|
|||
|
|
- EXAMPLES.md - 使用示例
|
|||
|
|
- CHANGELOG.md - 变更日志
|
|||
|
|
- 代码内的 JSDoc 注释
|
|||
|
|
|
|||
|
|
## 许可证
|
|||
|
|
|
|||
|
|
通过贡献,您同意您的贡献将在 MIT 许可证下发布。
|
|||
|
|
|
|||
|
|
## 问题?
|
|||
|
|
|
|||
|
|
如有任何问题,请:
|
|||
|
|
- 创建 Issue
|
|||
|
|
- 发送邮件至 support@workskills.store
|
|||
|
|
|
|||
|
|
感谢您的贡献!🎉
|