# 贡献指南 感谢您对 APM 应用商店项目的关注!我们欢迎任何形式的贡献。 ## 📋 目录 - [行为准则](#行为准则) - [如何贡献](#如何贡献) - [开发流程](#开发流程) - [代码规范](#代码规范) - [提交信息规范](#提交信息规范) - [Pull Request 流程](#pull-request-流程) - [问题报告](#问题报告) ## 行为准则 - 尊重所有贡献者 - 接受建设性批评 - 专注于对项目最有利的事情 - 对社区表现出同理心 ## 如何贡献 ### 报告 Bug 1. 使用 [Bug 报告模板](.github/ISSUE_TEMPLATE/bug_report.md) 2. 搜索现有 Issue,避免重复 3. 提供清晰的重现步骤 4. 包含相关日志和截图 ### 建议新功能 1. 使用 [功能请求模板](.github/ISSUE_TEMPLATE/help_wanted.md) 2. 解释使用场景和需求 3. 考虑是否值得投入开发资源 4. 愿意帮助实现吗? ### 提交代码 1. Fork 项目并创建分支 2. 编写代码和测试 3. 确保所有测试通过 4. 提交 Pull Request ### 改进文档 - 修正错误或不清晰之处 - 添加示例和教程 - 翻译文档 - 提出文档改进建议 ## 开发流程 ### 环境搭建 ```bash # 克隆仓库 git clone https://github.com/elysia-best/apm-app-store.git cd apm-app-store # 安装依赖 npm install # 启动开发服务器 npm run dev ``` ### 创建分支 ```bash # 功能分支 git checkout -b feature/your-feature-name # Bug 修复分支 git checkout -b fix/your-bug-fix ``` ### 本地开发 1. 遵循 [代码规范](#代码规范) 2. 编写 [单元测试](TESTING.md) 3. 运行 `npm run lint` 和 `npm run format` 4. 运行 `npm run test` 确保测试通过 ### 代码审查 - 保持 PR 小而聚焦 - 添加清晰的描述 - 引用相关的 Issue - 回应审查意见 ## 代码规范 ### TypeScript - 使用严格模式 (`strict: true`) - 避免使用 `any` 类型(必要时使用 `eslint-disable` 注释) - 使用显式类型注解 - 优先使用 `interface` 而非 `type` ### Vue 3 - 使用 Composition API 和 `