Files
wehub-resource-sync 1443d3fdf9
Ruff Format Check / Ruff Format & Lint (push) Failing after 7m39s
Deploy VitePress site to Pages / build (push) Failing after 9m11s
Deploy VitePress site to Pages / Deploy (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 12:32:26 +08:00

95 lines
2.4 KiB
Markdown

# Contributing to Yuxi
感谢你关注 Yuxi。欢迎提交 Issue、改进文档、修复 Bug 或贡献新功能。
更完整的开发文档可参考 [docs/develop-guides/contributing.md](docs/develop-guides/contributing.md)。
## 开始之前
- 提交前请先搜索现有 [Issues](https://github.com/xerrors/Yuxi/issues)
- 对于较大的功能改动,建议先开 Issue 讨论方案
- 保持改动聚焦,避免在一次 PR 中混入无关重构
## 开发方式
本项目通过 Docker Compose 进行开发,推荐直接在容器环境中调试。
```bash
docker compose up -d
docker ps
docker logs api-dev --tail 100
```
项目中的 `api-dev``web-dev` 默认支持热重载,本地修改代码后通常无需重启容器。
## 提交流程
1. Fork 仓库并创建分支
2. 在对应目录完成开发与测试
3. 提交清晰的 Commit Message
4. 发起 Pull Request,并说明修改内容、原因和验证方式
5. PR 模板 [PULL_REQUEST_TEMPLATE.md](.github/PULL_REQUEST_TEMPLATE.md) 中的检查项需要在提交前完成
示例:
```bash
git checkout -b feature/your-change
git commit -m "feat: add knowledge graph import flow"
git push origin feature/your-change
```
## 代码要求
### 通用
- 保持实现简单直接,避免过度设计
- 只修改当前任务所需内容,不顺手做额外重构
- 更新相关文档
- 如有必要,同步更新 [docs/develop-guides/changelog.md](docs/develop-guides/changelog.md)
- 设计部分请参考 [docs/develop-guides/design.md](docs/develop-guides/design.md)
### 后端
- 使用 Python 3.12+ 风格
- 提交前运行:
```bash
make format
make lint
docker compose exec api uv run pytest
```
- 测试脚本建议放在 `backend/test`
### 前端
- 使用 `pnpm`
- API 接口统一放在 `web/src/apis`
- 优先使用 `lucide-vue-next` 图标
- 样式使用 `less`
- 非特殊情况优先复用 [web/src/assets/css/base.css](web/src/assets/css/base.css) 中的颜色变量
## Pull Request 建议
- 标题清晰,能说明变更目标
- 描述中包含改动内容、影响范围和验证结果
- 如果涉及 UI,请附截图或录屏
- 如果涉及接口或行为变化,请补充文档
## 提交信息建议
推荐使用以下前缀:
- `feat`
- `fix`
- `docs`
- `refactor`
- `test`
- `chore`
## 问题反馈
- Bug 反馈/功能讨论:<https://github.com/xerrors/Yuxi/issues>
感谢你的贡献 ❤️。