- backend: FastAPI 应用工厂、统一错误信封、JWT、短信登录、工作区/成员/邀请、幂等中间件 - alembic 0001: workspace/member/invitation/audit_log/app_user + RLS 策略 + 双角色 GRANT - tests: 认证/工作区/租户隔离/幂等 四组用例(尚未在本机执行) - web: React18+Vite 骨架(登录、工作区、邀请落地页) - android: Compose 骨架(登录、工作区列表) - 2.Design: PRODUCT-PLAN / ROADMAP-M0-M1 / NAMING / DEVELOPMENT
2.6 KiB
2.6 KiB
AGENTS.md — 达道Task 仓库工作约定
给所有在本仓库工作的 AI / 人类协作者的强制约定。改动前先读完此文件。
1. 项目是什么
达道Task:任务管理(todo)→ 工单协同 → 知识库,三件事一条流,LLM 贯通。 Web(React)+ 安卓(Compose)+ 后端(FastAPI),SaaS 多租户形态。
2. 铁律(违反即回滚)
- 改完必须提交并 push。本地有未推送提交视为未完成。
- 生产不得领先仓库。部署的代码必须是仓库 HEAD,不允许"服务器上手动改一下"。
- 前端产物只能由仓库 HEAD 构建,不允许本地构建后上传 dist。
- 部署后必须校验 build 标记:
curl /version返回的 commit 必须等于git rev-parse --short HEAD。 - 多租户安全不讨价还价:任何新增租户表,必须同时提交 ①
workspace_id NOT NULL列 ② RLS 策略 ③ 跨租户隔离测试。三者缺一,PR 直接拒。
3. 技术栈(不得擅自更换)
| 层 | 选型 |
|---|---|
| 后端 | FastAPI + SQLAlchemy 2.0 async + PostgreSQL 16(RLS + pgvector)+ Redis |
| 迁移 | Alembic(autogenerate 后必须人工复核,不准盲上) |
| Web | React 18 + TypeScript + Vite + Tailwind |
| 安卓 | Kotlin + Jetpack Compose |
| LLM | OpenAI 兼容网关;平台兜底 DeepSeek,用户可配 |
4. 目录
backend/ FastAPI 服务(app/ 业务,tests/ 测试,alembic/ 迁移)
web/ React 前端
android/ Kotlin 安卓端
deploy/ 部署脚本与 compose
2.Design/ 设计文档(大写连字符命名,如 API.md、DEPLOY.md)
5. 提交规范
feat(task): 支持批量改状态
fix(auth): 刷新令牌未轮换
docs(plan): 补充工单状态机
- 一个提交只做一件事;格式化与业务分开提交。
main受保护,功能走feat/*分支。
6. 本地开发
# 依赖
cd deploy && docker compose -f docker-compose.dev.yml up -d
cd backend && pip install -r requirements.txt
pytest # 必须全绿才能提交
ruff check . && ruff format --check .
7. 禁区
- 不准把密钥、token、真实用户手机号写进仓库或测试夹具。
- 不准在日志里打印
password/token/api_key(中间件已做脱敏,别绕开它)。 - 不准跳过租户隔离测试,哪怕"这次只是改文档"。
- 不准直接读写
.dsh/memory-vault(记忆库只能通过工具/API 写入)。