# Contributing to ScholarSkill 首先,感谢你考虑为 ScholarSkill 贡献!🦉 ## 如何贡献 ### 报告 Bug 1. 先查看 [Issues](https://github.com/shengjie/scholar-skill/issues) 是否已有类似报告 2. 如果没有,创建新 Issue 并包含: - 清晰的标题 - 复现步骤 - 预期行为 vs 实际行为 - 环境信息(OpenClaw 版本、Obsidian 版本等) - 日志输出(如适用) ### 提出新功能 1. 先查看 [Issues](https://github.com/shengjie/scholar-skill/issues) 是否已有类似建议 2. 如果没有,创建 Feature Request Issue 并包含: - 功能描述 - 使用场景 - 预期效果 - 可能的实现方案(可选) ### 提交代码 1. Fork 本仓库 2. 创建功能分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 创建 Pull Request ### 贡献内容 欢迎的贡献类型: - ✅ Bug 修复 - ✅ 新功能实现 - ✅ 文档改进 - ✅ 模板优化 - ✅ 测试用例 - ✅ 性能优化 - ✅ 国际化翻译 不欢迎的内容: - ❌ 与论文阅读无关的功能 - ❌ 破坏现有 API 的更改 - ❌ 缺少测试的代码 - ❌ 没有文档的新功能 ## 开发规范 ### 代码风格 - Python: 遵循 PEP 8 - Markdown: 遵循 [Markdown Style Guide](https://www.markdownguide.org/basic-syntax/) - YAML: 使用 2 空格缩进 ### 提交信息 格式:`(): ` 类型包括: - `feat`: 新功能 - `fix`: Bug 修复 - `docs`: 文档更新 - `style`: 代码格式调整 - `refactor`: 重构 - `test`: 测试相关 - `chore`: 构建/工具配置 示例: ``` feat(reading): add L3 milestone notification fix(memory): correct semantic memory extraction logic docs(readme): update installation instructions ``` ### 测试 提交 PR 前确保: - [ ] 所有测试通过 (`pytest tests/`) - [ ] 新增功能的测试用例 - [ ] 代码覆盖率不降低 ## 发布流程 1. 更新版本号(遵循 SemVer) 2. 更新 CHANGELOG.md 3. 创建 Git tag 4. 发布 GitHub Release ## 许可证 提交代码即表示你同意将贡献内容授权在 MIT License 下。 ## 需要帮助? - 查看 [文档](docs/) - 查看 [常见问题](docs/FAQ.md) - 创建 Issue - 联系维护者 再次感谢你的贡献!🦉