# 参与 SkillGo 开发 感谢你愿意改进 SkillGo。提交代码前,请先确认改动边界清晰、测试可以重复运行,并且不包含真实凭据、用户数据、模型输出或部署备份。 ## 开发流程 1. 从功能分支开始,保持一次提交只解决一个相对独立的问题。 2. 后端代码放在 `backend/app`,测试放在 `backend/tests`;前端代码放在 `frontend/src`。 3. 修改 API、配置、数据模型或执行协议时,同步更新 `docs` 中对应文档。 4. 提交前运行: ```powershell .\.venv\Scripts\python.exe -m pytest -q Set-Location frontend npm.cmd run build ``` Linux/macOS 可将 Python与 npm 命令替换为本机等价命令。 ## 代码原则 - 多租户查询必须显式限定资源所有者,不能依赖前端传入的身份字段。 - 模型输出、Skill 包、附件和沙箱结果都按不可信输入处理。 - 新的执行状态必须可持久化、可审计,并对重试保持幂等或有明确的 fencing 机制。 - 不在日志、事件或异常中记录密钥、完整文档、模型推理内容和用户隐私数据。 - 优先复用现有领域服务,避免在路由、Worker 和前端分别复制一套业务规则。 - 不提交生成目录、数据库、历史压缩包、部署备份或本机配置。 ## Pull Request PR 描述应说明问题、实现方式、验证结果和兼容性影响。涉及界面变化时附截图;涉及数据库变更时提供迁移和回滚方案;涉及第三方代码或素材时注明来源与许可证。 提交贡献即表示你有权提交该内容,并同意按本仓库的 MIT License 发布。