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…_

View File

@@ -0,0 +1,19 @@
# Issue tracker: Local Markdown
这个 repo 的 issues 和 PRDs 作为 markdown 文件存放在 `.scratch/` 中。
## Conventions
- 每个 feature 一个目录:`.scratch/<feature-slug>/`
- PRD 是 `.scratch/<feature-slug>/PRD.md`
- Implementation issues 是 `.scratch/<feature-slug>/issues/<NN>-<slug>.md`,从 `01` 开始编号
- Triage state 记录为每个 issue file 顶部附近的 `Status:`role 字符串见 `triage-labels.md`
- Comments 和 conversation history 追加到文件底部的 `## Comments` heading 下
## When a skill says "publish to the issue tracker"
`.scratch/<feature-slug>/` 下创建新文件(必要时创建目录)。
## When a skill says "fetch the relevant ticket"
读取引用路径处的文件。用户通常会直接传入路径或 issue number。

View File

@@ -0,0 +1,15 @@
# Triage Labels
Skills 使用五个 canonical triage roles。这个文件把这些 roles 映射到此 repo issue tracker 中实际使用的 label 字符串。
| Label in mattpocock/skills | Label in our tracker | Meaning |
| -------------------------- | -------------------- | ---------------------------------------- |
| `needs-triage` | `needs-triage` | Maintainer needs to evaluate this issue |
| `needs-info` | `needs-info` | Waiting on reporter for more information |
| `ready-for-agent` | `ready-for-agent` | Fully specified, ready for an AFK agent |
| `ready-for-human` | `ready-for-human` | Requires human implementation |
| `wontfix` | `wontfix` | Will not be actioned |
当某个 skill 提到 role例如 “apply the AFK-ready triage label”使用此表中对应的 label 字符串。
编辑右侧列,使其匹配你实际使用的 vocabulary。