# Cook CLI Cook CLI 是一个命令行工具,用于管理菜谱数据。 ## 安装 项目依赖已在 workspace 中配置,无需单独安装。 ## 数据源 菜谱数据保存在本地 `packages/data/recipe.csv`,直接用编辑器或 Excel 维护,提交 PR 即可。 ## 命令 ### convert 将本地 CSV 数据转换为 JSON 格式。 ```bash pnpm convert ``` **功能:** - 读取 `packages/data/recipe.csv` - 转换为 JSON 格式 - 生成 `packages/data/recipe.json` **使用场景:** - 手动编辑 CSV 后需要重新生成 JSON - 确保 CSV 和 JSON 数据同步 ## 工作流程 ### 更新菜谱数据 ```bash # 1. 编辑 packages/data/recipe.csv # 2. 转换为 JSON pnpm convert # 3. 启动开发服务器查看效果 pnpm dev ``` ## 数据格式 ### CSV 格式 ```csv name,stuff,bv,difficulty,tags,methods,tools,id 宫保鸡丁,鸡肉、花生米,BV1234567890,简单,川菜、家常菜,炒、煎,一口大锅,0 ``` ### JSON 格式 ```json [ { "name": "宫保鸡丁", "stuff": ["鸡肉", "花生米"], "bv": "BV1234567890", "difficulty": "简单", "tags": ["川菜", "家常菜"], "methods": ["炒", "煎"], "tools": ["一口大锅"], "id": 0 } ] ``` ## 故障排查 ### CSV 解析错误 **错误信息:** ``` Error: Failed to parse CSV ``` **解决方案:** 1. 检查 CSV 文件格式是否正确 2. 确认字段分隔符为逗号 3. 检查是否有未闭合的引号 4. 验证编码是否为 UTF-8 ## 相关文档 - [开发指南](/dev/app) - [使用说明](/guide/getting-started) ## 测试 ### 运行测试 ```bash # 运行所有测试 pnpm test # 运行 CLI 相关测试 pnpm test packages/cook # 运行特定测试文件 pnpm test packages/cook/src/utils/csv.test.ts ``` ### 测试覆盖 CLI 工具包含以下测试: - **CSV 解析测试** (`csv.test.ts`) - ✅ BV 号清洗和 URL 处理 - ✅ CSV 格式解析 - ✅ 空值和边界情况处理 - ✅ 数组字段过滤空值 - ✅ CSV 往返一致性(parse → stringify → parse)