贡献指南¶
感谢您对 锐境 AI 项目的关注!我们欢迎各种形式的贡献。
贡献方式¶
代码贡献¶
开发流程¶
- Fork 项目
- 创建分支
- 开发和测试
- 提交代码
# 添加更改
git add .
# 提交(使用规范的commit message)
git commit -m "feat: add new feature"
# 推送到您的fork
git push origin feature/your-feature-name
-
创建Pull Request
-
访问GitHub上的原始仓库
- 点击"New Pull Request"
- 选择您的分支
- 填写PR描述
- 等待审核
Commit Message 规范¶
使用约定式提交(Conventional Commits):
Type类型:
- feat: 新功能
- fix: Bug修复
- docs: 文档更新
- style: 代码格式(不影响代码运行)
- refactor: 重构
- test: 测试相关
- chore: 构建过程或辅助工具的变动
示例:
feat(api): add text classification endpoint
Add a new endpoint for text classification with support for
multiple categories and confidence scores.
Closes #123
代码规范¶
Python代码规范
# 使用类型注解
def process_text(text: str, max_length: int = 100) -> str:
"""处理文本内容
Args:
text: 输入文本
max_length: 最大长度
Returns:
处理后的文本
"""
return text[:max_length]
# 使用有意义的变量名
user_count = len(users) # Good
n = len(users) # Bad
# 遵循PEP 8规范
# 使用4个空格缩进
# 每行不超过88个字符(Black默认)
JavaScript代码规范
// 使用ES6+语法
const processText = (text, maxLength = 100) => {
return text.slice(0, maxLength);
};
// 使用有意义的变量名
const userCount = users.length;
// 使用JSDoc注释
/**
* 处理文本内容
* @param {string} text - 输入文本
* @param {number} maxLength - 最大长度
* @returns {string} 处理后的文本
*/
文档贡献¶
文档类型¶
API文档 - 端点描述 - 参数说明 - 示例代码 - 错误处理
教程文档 - 快速入门 - 深入指南 - 最佳实践 - 常见问题
翻译文档 - 英文翻译 - 其他语言翻译 - 术语统一
文档规范¶
Markdown格式
# 一级标题
## 二级标题
### 三级标题
- 列表项1
- 列表项2
1. 有序列表1
2. 有序列表2
**粗体** *斜体* `代码`
[链接文本](url)

代码示例
```python
# Python代码示例
import ruijing_ai
client = ruijing_ai.Client(api_key="your_key")
response = client.chat.completions.create(
model="ruijing-gpt-2.0",
messages=[{"role": "user", "content": "Hello"}]
)
```
提示框
问题反馈¶
报告Bug¶
使用GitHub Issues报告Bug,请包含:
Bug描述 - 清晰简洁的描述 - 预期行为 - 实际行为
复现步骤 1. 第一步 2. 第二步 3. 看到错误
环境信息 - 操作系统:Windows 10 / macOS 13 / Ubuntu 22.04 - Python版本:3.9.0 - SDK版本:1.0.0 - 其他相关信息
代码示例
# 最小可复现代码
import ruijing_ai
client = ruijing_ai.Client(api_key="test")
# 这里会出错
response = client.some_method()
错误信息
Traceback (most recent call last):
File "test.py", line 5, in <module>
response = client.some_method()
...
Error: Something went wrong
功能建议¶
提出新功能建议时,请说明:
- 功能描述:清晰描述建议的功能
- 使用场景:为什么需要这个功能
- 预期效果:功能应该如何工作
- 替代方案:是否考虑过其他方案
内容分享¶
技术博客¶
主题建议 - 使用教程 - 项目案例 - 技术深度解析 - 最佳实践 - 性能优化 - 问题排查
发布平台 - 个人博客 - 知乎专栏 - CSDN - 掘金 - Medium
内容要求 - 原创内容 - 技术准确 - 代码可运行 - 排版清晰
视频教程¶
内容类型 - 快速入门 - 功能演示 - 项目实战 - 技术分享
制作要求 - 清晰的音频 - 高质量画面 - 结构化内容 - 提供字幕
发布平台 - YouTube - B站 - 抖音 - 快手
贡献者协议¶
许可证¶
所有贡献的代码将采用与项目相同的许可证(MIT License)。
版权¶
- 您保留贡献内容的版权
- 您授予项目使用、修改、分发的权利
- 您确认贡献内容是原创或有权贡献
行为准则¶
贡献者应遵守以下准则:
✅ 应该做的 - 尊重所有贡献者 - 提供建设性反馈 - 接受不同观点 - 专注于对项目最有利的事情
❌ 不应该做的 - 使用性别化或贬损性语言 - 人身攻击或政治攻击 - 公开或私下骚扰 - 未经许可发布他人私人信息
审核流程¶
Pull Request审核¶
- 自动检查
- CI/CD自动运行测试
- 代码质量检查
-
安全扫描
-
人工审核
- 代码审查
- 功能测试
-
文档检查
-
反馈和修改
- 审核者提供反馈
- 作者根据反馈修改
-
重新审核
-
合并
- 审核通过后合并
- 自动部署(如适用)
- 更新变更日志
审核标准¶
代码质量 - 符合代码规范 - 有适当的测试 - 有清晰的注释 - 没有明显的bug
功能完整性 - 实现了预期功能 - 处理了边界情况 - 有错误处理
文档完整性 - 更新了相关文档 - 有使用示例 - 有变更说明
开发环境设置¶
本地开发¶
# 克隆仓库
git clone https://github.com/ruijing-ai/ruijing-ai.git
cd ruijing-ai
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows
# 安装开发依赖
pip install -r requirements-dev.txt
# 安装pre-commit hooks
pre-commit install
# 运行测试
pytest
# 启动开发服务器
python -m ruijing_ai.server
开发工具¶
推荐IDE - VS Code - PyCharm - IntelliJ IDEA
推荐插件 - Python - Pylance - GitLens - Prettier - ESLint
获得帮助¶
如果您在贡献过程中遇到问题:
- 📧 发送邮件至 dev@ruijing.ai
- 💬 在Discord的#contributors频道提问
- 🐛 在GitHub Issues中提问
- 📚 查看开发者文档
贡献者名单¶
感谢所有为项目做出贡献的开发者!
奖励计划¶
贡献积分¶
根据贡献类型获得积分:
- 🐛 Bug修复:10-50分
- ✨ 新功能:50-200分
- 📝 文档改进:5-20分
- 🌐 翻译:20-50分
- 📖 教程文章:30-100分
- 🎥 视频教程:50-150分
积分兑换¶
积分可以兑换:
- 🎁 周边礼品
- 💰 API额度
- 🎓 培训课程
- 🎫 活动门票
- ⭐ 社区认证
常见问题¶
我是新手,可以贡献吗?
当然可以!我们欢迎所有级别的贡献者。可以从简单的文档改进、翻译开始。
我的PR多久会被审核?
通常在1-3个工作日内会有初步反馈。复杂的PR可能需要更长时间。
PR被拒绝了怎么办?
不要气馁!仔细阅读反馈意见,进行修改后可以重新提交。
如何成为核心贡献者?
持续贡献高质量的代码和文档,积极参与社区讨论,就有机会成为核心贡献者。
感谢您的贡献,让我们一起构建更好的AI平台!