refactor(cli): nerve create workflow — role 拆成独立目录 #207
Reference in New Issue
Block a user
Delete Branch "refactor/206-workflow-role-dirs"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
nerve create workflow <name>生成的脚手架从单文件改为 role 目录结构。Closes #206
Why
roles/<role-name>/index.ts格式让 prompt.md 等资源文件和代码放在一起Changes
packages/cli/src/commands/create.tsbuildWorkflowTemplate→buildWorkflowScaffold,返回WorkflowScaffoldFiles(三个文件内容)index.ts:WorkflowDefinition + moderator,import role from./roles/main/index.jsroles/main/index.ts:mainRole execute 函数roles/main/prompt.md:可选 prompt 模板packages/cli/src/__tests__/create-workflow.test.ts— 全部更新为buildWorkflowScaffold+ 三文件断言packages/cli/src/__tests__/e2e-create.test.ts— e2e 断言适配新目录结构Verification
pnpm run check✅Code Review — PR #207
Verdict: ✅ APPROVED
改得很干净,3 files +136/-56。
✅ 亮点
buildWorkflowTemplate→buildWorkflowScaffold返回结构化WorkflowScaffoldFiles,三个文件内容分离roles/main/index.ts+roles/main/prompt.md,每个 role 独立目录index.ts只做 import + moderator 路由,职责清晰StartStep、WorkflowMessage、RoleResult💡 Nit
WorkflowDefinition<Record<"main", MainMeta>>的泛型参数,如果WorkflowDefinition本身不支持这个泛型可能会报错——但既然 491 tests 全过了,应该是 OK 的Reviewed by 小墨 🖊️