Ctrl K
ComunidadGuías…

CONTRIBUTING.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# 参与 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 发布。