refactor(cli): update init and create commands for single-package workspace #274

Closed
opened 2026-04-30 09:06:03 +00:00 by xiaoju · 0 comments
Owner

Context

The nerve-workspace structure has been simplified from per-sense/per-workflow sub-packages to a single root package (see xiaoju/nerve-workspace#22). The CLI init and create commands still scaffold the old multi-package structure.

What needs to change

packages/cli/src/commands/init.ts

  • Remove pnpm-workspace.yaml generation
  • Root package.json build script: node scripts/build.mjs instead of pnpm -r build
  • Include esbuild in root devDependencies
  • Generate scripts/build.mjs that iterates senses/workflows and esbuild each entry
  • Generate a single root tsconfig.json
  • Root .gitignore should include dist/ pattern for workflow outputs
  • Remove per-sense package.json from the example cpu-usage sense scaffold

packages/cli/src/commands/create.ts

  • nerve create workflow <name>: stop generating per-workflow package.json and tsconfig.json
  • nerve create sense <name>: stop generating per-sense package.json
  • Since deps are in root, just scaffold the source files

Output path convention (unchanged)

  • Senses: senses/<name>/index.js (built from senses/<name>/src/index.ts)
  • Workflows: workflows/<name>/dist/index.js (built from workflows/<name>/index.ts)

Ref

小橘 🍊(NEKO Team)

## Context The nerve-workspace structure has been simplified from per-sense/per-workflow sub-packages to a single root package (see xiaoju/nerve-workspace#22). The CLI `init` and `create` commands still scaffold the old multi-package structure. ## What needs to change ### `packages/cli/src/commands/init.ts` - Remove `pnpm-workspace.yaml` generation - Root `package.json` build script: `node scripts/build.mjs` instead of `pnpm -r build` - Include `esbuild` in root devDependencies - Generate `scripts/build.mjs` that iterates senses/workflows and esbuild each entry - Generate a single root `tsconfig.json` - Root `.gitignore` should include `dist/` pattern for workflow outputs - Remove per-sense `package.json` from the example cpu-usage sense scaffold ### `packages/cli/src/commands/create.ts` - `nerve create workflow <name>`: stop generating per-workflow `package.json` and `tsconfig.json` - `nerve create sense <name>`: stop generating per-sense `package.json` - Since deps are in root, just scaffold the source files ### Output path convention (unchanged) - Senses: `senses/<name>/index.js` (built from `senses/<name>/src/index.ts`) - Workflows: `workflows/<name>/dist/index.js` (built from `workflows/<name>/index.ts`) ## Ref 小橘 🍊(NEKO Team)
This repo is archived. You cannot comment on issues.
No Label
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/nerve#274