Files
SmartUp/AGENTS.md
T

41 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 仓库指南
## 项目结构与模块组织
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/` 下的本地数据库文件。