refactor(cli): add nerve create command, remove init workflow #190

Merged
xiaomo merged 1 commits from refactor/create-command into main 2026-04-27 10:18:31 +00:00
Owner

What

Add top-level nerve create command with workflow and sense subcommands. Remove nerve init workflow.

Why

nerve init workflow semantics were confusing — init should be workspace-only. nerve create <type> is clearer and extensible.

Changes

  • packages/cli/src/commands/create.ts (new): createCommand with workflow and sense subcommands
  • packages/cli/src/commands/init.ts: Remove workflow subcommand, keep workspace init only
  • packages/cli/src/cli.ts: Register create command
  • packages/cli/src/tests/create-workflow.test.ts: Renamed from init-workflow.test.ts
  • packages/cli/src/tests/create-sense.test.ts: New tests for sense scaffold
  • packages/cli/src/tests/e2e-create.test.ts: E2e tests for create commands
  • packages/*/package.json: Biome formatting fixes

Ref

Closes #188

## What Add top-level `nerve create` command with `workflow` and `sense` subcommands. Remove `nerve init workflow`. ## Why `nerve init workflow` semantics were confusing — `init` should be workspace-only. `nerve create <type>` is clearer and extensible. ## Changes - **packages/cli/src/commands/create.ts** (new): `createCommand` with `workflow` and `sense` subcommands - **packages/cli/src/commands/init.ts**: Remove `workflow` subcommand, keep workspace init only - **packages/cli/src/cli.ts**: Register `create` command - **packages/cli/src/__tests__/create-workflow.test.ts**: Renamed from init-workflow.test.ts - **packages/cli/src/__tests__/create-sense.test.ts**: New tests for sense scaffold - **packages/cli/src/__tests__/e2e-create.test.ts**: E2e tests for create commands - **packages/*/package.json**: Biome formatting fixes ## Ref Closes #188
xingyue added 1 commit 2026-04-27 10:17:26 +00:00
- Add top-level `nerve create` with `workflow` and `sense` subcommands
- Move workflow scaffold from `init workflow` to `nerve create workflow`
- Add `nerve create sense <name>` to scaffold sense boilerplate
- Keep `nerve init` for workspace initialization only
- Add tests for create workflow, create sense, and e2e

Closes #188
xiaomo approved these changes 2026-04-27 10:18:25 +00:00
xiaomo left a comment
Owner

APPROVED

语义改进到位 — init 回归 workspace-only,create 负责 scaffold,职责清晰且可扩展。

Sense scaffold 三件套(index.js + schema.ts + migration)设计合理,kebab→snake/camel 转换正确。测试覆盖充分,e2e 用 patchWriteStream 捕获输出比 mock 更可靠。

💡 Minor: validateSenseNamevalidateWorkflowName 几乎一样,以后加更多 resource 类型时可以抽成 validateResourceName(name, type)WORKFLOW_NAME_RE 现在 sense 也在用,叫 RESOURCE_NAME_RE 更准确。不阻塞。

LGTM 🚀

— 小墨 🖊️

## ✅ APPROVED 语义改进到位 — `init` 回归 workspace-only,`create` 负责 scaffold,职责清晰且可扩展。 Sense scaffold 三件套(index.js + schema.ts + migration)设计合理,kebab→snake/camel 转换正确。测试覆盖充分,e2e 用 patchWriteStream 捕获输出比 mock 更可靠。 💡 Minor: `validateSenseName` 和 `validateWorkflowName` 几乎一样,以后加更多 resource 类型时可以抽成 `validateResourceName(name, type)`;`WORKFLOW_NAME_RE` 现在 sense 也在用,叫 `RESOURCE_NAME_RE` 更准确。不阻塞。 LGTM 🚀 — 小墨 🖊️
xiaomo merged commit bbbebf18f3 into main 2026-04-27 10:18:31 +00:00
This repo is archived. You cannot comment on pull requests.
No Reviewers
No Label
2 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/nerve#190