Create Worker (create)

create scaffolds a worker directory with runtime template files and a default FlowBox UI frontend.

Interactive mode

npx worker-cli create

You will be prompted for:

  1. Runtime type (node, python, dotnet)
  2. Worker name
  3. Display name
  4. Box type (source, pipe, sink)
  5. Icon (Material Symbols name)
  6. Optional initial build

Non-interactive mode

Any use of --type, --name, --box-type, or --icon triggers non-interactive flow.

npx worker-cli create --type node --name opc-reader --box-type source --icon sensors

Required flags in non-interactive mode:

  • --type <node|python|dotnet>
  • --name <name>
  • --box-type <source|pipe|sink>
  • --icon <icon>

Optional:

  • --display-name "Human Name"
  • --no-build

[WARNING!rule/NAME RULES] Worker names are kebab-cased and must not contain digits.

Runtime-specific examples

Node pipe worker

npx worker-cli create --type node --name json-normalizer --box-type pipe --icon transform

Python source worker

npx worker-cli create --type python --name modbus-reader --box-type source --icon memory --no-build

.NET sink worker

npx worker-cli create --type dotnet --name mssql-writer --box-type sink --icon database

Generated shape (simplified)

workers/<name>/
├── Dockerfile
├── src/
├── frontend/
│   └── src/default/ConfigForm.svelte
└── runtime project files

Next steps after create

# implement behavior
$EDITOR workers/<name>/src/...

# validate and build
npx worker-cli consistency <name>
npx worker-cli build <name>

[NOTE!lightbulb/ROLE BOUNDARIES] Scaffolding gives you a compliant starting point. It does not implement domain-specific protocol handling, transformation logic, or business-specific configuration semantics.

References

  • sdk/worker/repo-management/src/commands/create.ts
  • sdk/worker/repo-management/src/commands/create-worker.ts
  • sdk/worker/repo-management/templates/