feat: AI 驱动的配方研发智能平台 v0.1

核心功能:
- M3 配方记录: 创建/编辑/详情/可视化编辑/AI提取/版本历史/版本对比
- M1 颜色引擎: D3.js 色相环/滑条微调/ΔE计算/取色棒/AI配色推荐
- M2 可视化编辑器: ECharts饼图/成分滑条/AI预测/雷达图/仪表盘
- M4 配方推演: 约束设置/SSE推演/方案对比/散点图
- 平台: NL智能搜索/项目管理/CSV导出/JWT认证/全局搜索

技术栈:
- 前端: React + Vite + Tailwind CSS 4 + Zustand + TanStack Query
- 后端: Fastify 5 + Prisma 7 + PostgreSQL + pgvector
- AI: OpenAI/DeepSeek API 调用 + Prompt模板 + 缓存/降级/限流
- 测试: Vitest 42 tests (26 API集成 + 16 色彩模块)
This commit is contained in:
qichi.liang
2026-05-20 17:50:37 +08:00
commit 23e5cb4006
125 changed files with 14454 additions and 0 deletions

35
docs/agents/domain.md Normal file
View File

@@ -0,0 +1,35 @@
# Domain Docs
Engineering skills 探索 codebase 时,应如何消费这个 repo 的 domain documentation。
## Before exploring, read these
- repo 根目录的 **`CONTEXT.md`**
- **`docs/adr/`** — 读取与你即将处理区域相关的 ADRs
如果这些文件不存在,**静默继续**。不要标记缺失不要提前建议创建。producer skill`/grill-with-docs`)会在 terms 或 decisions 实际被解决时懒创建它们。
## File structure
Single-context repo
```
/
├── CONTEXT.md
├── docs/adr/
│ ├── 0001-example.md
│ └── ...
└── src/
```
## Use the glossary's vocabulary
当你的输出命名某个 domain concept 时issue title、refactor proposal、hypothesis、test name使用 `CONTEXT.md` 中定义的 term。不要漂移到 glossary 明确避免的 synonyms。
如果你需要的概念还不在 glossary 中,这是一个信号:要么你正在发明项目没有使用的语言(重新考虑),要么确实存在缺口(为 `/grill-with-docs` 记录)。
## Flag ADR conflicts
如果你的输出与现有 ADR 矛盾,明确指出,而不是静默覆盖:
> _Contradicts ADR-0007 (event-sourced orders) — but worth reopening because…_