跳转至

贡献指南

感谢您对 锐境 AI 项目的关注!我们欢迎各种形式的贡献。


贡献方式

代码贡献

开发流程

  1. Fork 项目
# 克隆您fork的仓库
git clone https://github.com/your-username/ruijing-ai.git
cd ruijing-ai
  1. 创建分支
# 创建功能分支
git checkout -b feature/your-feature-name

# 或创建修复分支
git checkout -b fix/your-bug-fix
  1. 开发和测试
# 安装依赖
pip install -r requirements-dev.txt

# 运行测试
pytest tests/

# 代码格式化
black .
flake8 .
  1. 提交代码
# 添加更改
git add .

# 提交(使用规范的commit message)
git commit -m "feat: add new feature"

# 推送到您的fork
git push origin feature/your-feature-name
  1. 创建Pull Request

  2. 访问GitHub上的原始仓库

  3. 点击"New Pull Request"
  4. 选择您的分支
  5. 填写PR描述
  6. 等待审核

Commit Message 规范

使用约定式提交(Conventional Commits):

<type>(<scope>): <subject>

<body>

<footer>

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)

![图片描述](image-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"}]
)
```

提示框

!!! tip "提示"
    这是一个提示信息

!!! warning "警告"
    这是一个警告信息

!!! info "信息"
    这是一个信息提示

问题反馈

报告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审核

  1. 自动检查
  2. CI/CD自动运行测试
  3. 代码质量检查
  4. 安全扫描

  5. 人工审核

  6. 代码审查
  7. 功能测试
  8. 文档检查

  9. 反馈和修改

  10. 审核者提供反馈
  11. 作者根据反馈修改
  12. 重新审核

  13. 合并

  14. 审核通过后合并
  15. 自动部署(如适用)
  16. 更新变更日志

审核标准

代码质量 - 符合代码规范 - 有适当的测试 - 有清晰的注释 - 没有明显的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被拒绝了怎么办?

不要气馁!仔细阅读反馈意见,进行修改后可以重新提交。

如何成为核心贡献者?

持续贡献高质量的代码和文档,积极参与社区讨论,就有机会成为核心贡献者。


准备好开始贡献了吗?

选择一个您感兴趣的方式,开始您的贡献之旅!

浏览Issues Fork项目 加入Discord


感谢您的贡献,让我们一起构建更好的AI平台!