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:
- Runtime type (
node,python,dotnet) - Worker name
- Display name
- Box type (
source,pipe,sink) - Icon (Material Symbols name)
- 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.tssdk/worker/repo-management/src/commands/create-worker.tssdk/worker/repo-management/templates/