贡献指南
感谢您对 MTPC 项目的关注和贡献!
如何贡献
报告 Bug
如果您发现了 Bug,请通过以下步骤报告:
- 在 GitHub Issues 中搜索是否已有相同的问题
- 如果没有,创建一个新的 Issue,包含:
- 清晰的标题
- 详细的问题描述
- 复现步骤
- 期望的行为
- 实际的行为
- 环境信息(Node.js 版本、MTPC 版本等)
- 相关的代码片段或日志
提出新功能
如果您有新功能的想法,请:
- 在 GitHub Discussions 中讨论您的想法
- 创建一个 Issue 描述新功能:
- 功能描述
- 使用场景
- 实现建议
- 可能的影响
提交代码
开发流程
- Fork 项目到您的 GitHub 账户
- 克隆您的 Fork:
git clone https://github.com/your-username/mtpc.git cd mtpc - 安装依赖:
pnpm install - 创建新的分支:
git checkout -b feature/your-feature-name - 进行开发
- 提交您的更改:
git add . git commit -m "feat: add your feature description" - 推送到您的 Fork:
git push origin feature/your-feature-name - 创建 Pull Request
提交信息规范
我们使用 Conventional Commits 规范:
feat:新功能fix:Bug 修复docs:文档更新style:代码格式调整(不影响功能)refactor:重构(既不是新功能也不是 Bug 修复)test:测试相关chore:构建过程或辅助工具的变动
示例:
feat: add support for custom permission scopes
fix: resolve issue with role binding validation
docs: update installation guide
refactor: simplify resource definition API代码规范
- 使用 TypeScript 进行类型检查
- 使用 Biome 进行代码格式化
- 遵循项目的代码风格
- 添加适当的注释和文档
- 为新功能添加测试
测试
在提交 PR 之前,请确保:
- 所有测试通过:
pnpm test - 代码格式正确:
pnpm lint - 类型检查通过:
pnpm typecheck
文档贡献
如果您想改进文档,可以:
- 直接编辑
apps/site目录下的 MDX 文件 - 遵循现有的文档风格和格式
- 提交 PR
Pull Request 流程
PR 检查清单
在提交 PR 之前,请确保:
- 代码通过所有测试
- 代码通过类型检查
- 代码通过 lint 检查
- 添加了必要的测试
- 更新了相关文档
- 提交信息符合规范
- PR 描述清晰完整
PR 描述模板
## 描述
简要描述这个 PR 的目的和内容
## 变更类型
- [ ] Bug 修复
- [ ] 新功能
- [ ] 文档更新
- [ ] 代码重构
- [ ] 性能优化
- [ ] 其他
## 相关 Issue
Closes #123
## 变更内容
- 变更 1
- 变更 2
## 测试
描述如何测试这些变更
## 截图(如果适用)
添加截图展示变更效果
## 检查清单
- [ ] 代码通过所有测试
- [ ] 代码通过类型检查
- [ ] 代码通过 lint 检查
- [ ] 添加了必要的测试
- [ ] 更新了相关文档开发环境设置
必要工具
- Node.js >= 18
- pnpm >= 8
- Git
安装依赖
pnpm install运行开发服务器
pnpm dev运行测试
# 运行所有测试
pnpm test
# 运行特定包的测试
pnpm --filter @mtpc/core test
# 监听模式
pnpm test --watch构建项目
# 构建所有包
pnpm build
# 构建特定包
pnpm --filter @mtpc/core build项目结构
mtpc/
├── apps/
│ ├── example-api/ # 示例 API 应用
│ └── site/ # 文档网站
├── packages/
│ ├── core/ # 核心包
│ ├── rbac/ # RBAC 扩展
│ ├── adapter-hono/ # Hono 适配器
│ └── adapter-drizzle/ # Drizzle 适配器
└── docs/ # 额外文档社区规范
行为准则
- 尊重所有贡献者
- 接受建设性的批评
- 专注于对社区最有利的事情
- 对其他社区成员表示同理心
沟通渠道
- GitHub Issues:Bug 报告和功能请求
- GitHub Discussions:一般讨论和问题
- Discord/Slack(如果有):实时交流
获取帮助
如果您在贡献过程中遇到问题:
- 查看 文档
- 搜索 GitHub Issues
- 在 GitHub Discussions 中提问
- 联系维护者
许可证
通过贡献代码,您同意您的贡献将根据项目的许可证进行许可。
致谢
感谢所有贡献者的辛勤付出!
继续学习: 常见问题 →
Last updated on