Add repository contributor guide

This commit is contained in:
SmartUp Developer
2026-07-06 10:41:40 +08:00
parent 72aa21aed2
commit 41ef047b6e
+40
View File
@@ -0,0 +1,40 @@
# 仓库指南
## 项目结构与模块组织
SmartUp 主应用由 FastAPI 后端和 Vue 3/Vite 前端组成,并通过 Docker Compose 打包运行。后端代码位于 `backend/app/``routers/` 定义 API 路由,`services/` 放业务逻辑和上游集成,`models/` 是 SQLAlchemy ORM`schemas/` 是 Pydantic 类型,`utils/` 放通用工具。后端测试为 `backend/test_*.py`
前端代码位于 `frontend/src/``views/` 是页面,`components/` 是复用组件,`api/` 封装 Axios 请求,`stores/` 管理 Pinia 状态,`assets/` 存放样式和静态资源。`data/` 存放本地 SQLite 数据库,视为运行时数据。
## 上下游网关与扩展目录
`new-api/``nox-api/``sub2api/``browser-extension/` 是 SmartUp 监控、同步和对接的上下游 API 网关或配套扩展,不是 Python 应用的一部分。其中 Go 项目有独立的 `go.mod`、README、Dockerfile 或本地 `AGENTS.md`,修改时优先遵循各自目录内说明。
当 Python 应用中关于上游/下游账号、密钥、分组、模型、额度、认证头或同步流程的逻辑不清楚时,应读取这些目录的源码来确认真实接口行为,不要只按后端字段名猜测协议。
## 构建、测试与开发命令
- `make up`:使用现有镜像启动 Docker Compose 应用。
- `make up-build`:依赖或镜像配置变化后重新构建并启动。
- `make log`:查看 `smartup` 服务日志。
- `cd backend && pip install -r requirements.txt`:安装后端依赖。
- `cd backend && uvicorn app.main:app --reload --port 8000`:本地运行 API。
- `cd backend && pytest`:运行后端测试。
- `cd frontend && npm install`:安装前端依赖。
- `cd frontend && npm run dev`:启动 Vite`npm run build` 执行类型检查并构建。
## 编码风格与命名约定
Python 使用 4 空格缩进,模块名使用 snake_case,例如 `finance_service.py``external_api_logs.py`。路由处理函数应保持精简,将业务逻辑下沉到 `services/`。请求和响应边界使用 Pydantic schema。
前端使用 Vue SFC 和 `<script setup lang="ts">`,保持单引号、无分号风格。组件和页面使用 PascalCase,接口访问逻辑放在 `frontend/src/api/`
## 测试规范
后端测试使用 `pytest`,文件命名为 `backend/test_*.py`。新增调度、上游、认证、财务、站点同步等行为时,应补充聚焦测试。前端暂无测试框架,修改 UI 后至少运行 `npm run build`,并记录关键页面的手动验证结果。
## 提交与 Pull Request 规范
历史提交混用 `feat:``fix:` 和祈使句摘要(如 `Add ...``Improve ...`)。建议使用简短祈使句;功能和修复类改动可使用 `feat:``fix:`。每个提交聚焦一个行为变化。
PR 应包含变更说明、关联 issue 或背景、已运行命令(如 `pytest``npm run build`、Docker 检查)、UI 变更截图,以及 `.env` 或数据库影响说明。不要提交 `.env` 密钥或 `data/` 下的本地数据库文件。