贡献指南 Contributing Guide
感谢你考虑为 Rspress Theme AIm 做贡献!Thank you for considering contributing to Rspress Theme AIm!
📋 目录 Table of Contents
- 行为准则 Code of Conduct
- 如何贡献 How to Contribute
- 开发流程 Development Process
- 提交规范 Commit Guidelines
- 代码规范 Code Standards
- 文档规范 Documentation Standards
行为准则 Code of Conduct
我们的承诺 Our Pledge
为了营造一个开放和友好的环境,我们作为贡献者和维护者承诺:无论年龄、体型、残疾、种族、性别认同和表达、经验水平、教育程度、社会经济地位、国籍、外貌、种族、宗教或性取向如何,参与我们的项目和社区都将为每个人提供无骚扰的体验。
我们的标准 Our Standards
积极行为包括:
- 使用友好和包容的语言
- 尊重不同的观点和经验
- 优雅地接受建设性批评
- 关注对社区最有利的事情
- 对其他社区成员表示同理心
不可接受的行为包括:
- 使用性化的语言或图像,以及不受欢迎的性关注或性骚扰
- 捣乱、侮辱/贬损评论以及人身或政治攻击
- 公开或私下的骚扰
- 未经明确许可,发布他人的私人信息,例如物理地址或电子地址
- 在专业环境中可能被合理认为不适当的其他行为
如何贡献 How to Contribute
报告 Bug Reporting Bugs
在提交 Bug 报告之前,请先:
- 检查 Issues 中是否已有相同问题
- 确认你使用的是最新版本
- 阅读相关文档,确认不是使用方式问题
提交 Bug 报告时,请包含:
- 清晰的标题和描述
- 复现步骤 - 详细的步骤让我们能重现问题
- 预期行为 - 你期望发生什么
- 实际行为 - 实际发生了什么
- 环境信息 - 操作系统、浏览器版本、Node.js 版本等
- 截图 - 如果适用,添加截图帮助解释问题
- 代码示例 - 提供最小可复现代码示例
Bug 报告模板 Bug Report Template
建议新功能 Suggesting New Features
我们欢迎新功能建议!请在 Issue 中详细描述:
- 功能描述 - 清晰描述你希望的功能
- 使用场景 - 为什么需要这个功能
- 实现建议 - 如果有想法,可以提供实现建议
- 替代方案 - 考虑过的其他替代方案
功能建议模板 Feature Request Template
改进文档 Improving Documentation
文档改进包括:
- 修正拼写或语法错误
- 添加缺失的文档
- 改进现有文档的清晰度
- 添加更多示例
- 翻译文档
开发流程 Development Process
1. Fork 并 Clone 仓库
2. 创建分支
分支命名规范:
feature/- 新功能fix/- Bug 修复docs/- 文档改进refactor/- 代码重构test/- 测试相关chore/- 其他杂项
3. 进行开发
4. 测试你的修改
确保:
- ✅ 代码能够正常编译 (
pnpm build) - ✅ 本地预览正常 (
pnpm preview) - ✅ 多语言功能正常(中英文)
- ✅ 文档更新完整
5. 提交代码
6. 推送并创建 PR
然后在 GitHub 上创建 Pull Request。
提交规范 Commit Guidelines
我们使用 Conventional Commits 规范。
提交消息格式 Commit Message Format
Type 类型
feat- 新功能 (new feature)fix- Bug 修复 (bug fix)docs- 文档修改 (documentation changes)style- 代码格式修改,不影响功能 (code style changes)refactor- 代码重构 (code refactoring)perf- 性能优化 (performance improvements)test- 测试相关 (adding or modifying tests)chore- 构建过程或辅助工具的变动 (build process or auxiliary tool changes)ci- CI 配置修改 (CI configuration changes)revert- 回滚之前的提交 (revert previous commit)
Scope 范围(可选)
blog- 博客功能相关copyright- 版权信息相关icp- ICP 备案相关gongan- 公安备案相关nav- 导航相关config- 配置相关deps- 依赖相关
示例 Examples
代码规范 Code Standards
TypeScript
- 使用 TypeScript 编写代码
- 为所有函数添加类型注解
- 避免使用
any类型 - 使用接口定义数据结构
React
- 使用函数组件和 Hooks
- 组件命名使用 PascalCase
- 事件处理函数使用
handle前缀 - Props 使用接口定义
代码风格
- 使用 2 空格缩进
- 使用单引号
- 语句末尾不加分号
- 每行最大长度 100 字符
文件命名
- 组件文件:PascalCase (e.g.,
CopyrightFooter.tsx) - 工具文件:kebab-case (e.g.,
format-date.ts) - 样式文件:kebab-case (e.g.,
blog.css)
文档规范 Documentation Standards
Markdown 文档
- 使用中文和英文双语
- 文档开头添加
orderfrontmatter - 标题层级清晰(H1 > H2 > H3)
- 代码块指定语言类型
- 使用相对路径链接项目内文档
文档结构
多语言文档
- 中文文档放在
docs/zh/ - 英文文档放在
docs/en/ - 保持中英文文档结构一致
- 使用相同的
order值
Pull Request 指南 Pull Request Guidelines
PR 标题
遵循提交规范:
PR 描述模板
PR 审查流程
- 自动检查 - CI 自动运行构建测试
- 代码审查 - 维护者会审查你的代码
- 反馈修改 - 根据反馈进行必要的修改
- 合并 - 审查通过后合并到 main 分支
获取帮助 Getting Help
如果你在贡献过程中遇到问题:
- 📖 查看 文档
- 💬 在 Discussions 中提问
- 🐛 在 Issues 中搜索或提问
许可证 License
通过贡献代码,你同意你的贡献将根据项目的 MIT 许可证进行许可。
By contributing code, you agree that your contributions will be licensed under the project's MIT License.
再次感谢你的贡献!Thank you again for your contribution! 🎉