@bpmnkit/docspack 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.llms/chunks/cli.casen.aikit-skills.md +19 -0
- package/.llms/chunks/cli.casen.bpmn-generation-pipeline.md +32 -0
- package/.llms/chunks/cli.casen.connection-profiles.md +62 -0
- package/.llms/chunks/cli.casen.generate-bpmn-files.md +28 -0
- package/.llms/chunks/cli.casen.md +80 -0
- package/.llms/chunks/cli.casen.plugins.md +56 -0
- package/.llms/chunks/cli.casen.worker-commands.md +45 -0
- package/.llms/chunks/cli.connector.all-flags.md +29 -0
- package/.llms/chunks/cli.connector.browse-the-bundled-ootb-catalog.md +32 -0
- package/.llms/chunks/cli.connector.built-in-catalog.md +41 -0
- package/.llms/chunks/cli.connector.common-workflows.md +50 -0
- package/.llms/chunks/cli.connector.generate-from-the-openapi-catalog.md +30 -0
- package/.llms/chunks/cli.connector.md +20 -0
- package/.llms/chunks/cli.connector.programmatic-usage.md +7 -0
- package/.llms/chunks/cli.connector.what-gets-generated.md +20 -0
- package/.llms/chunks/cli.generate.definition-mode-ai-scripting-path.md +89 -0
- package/.llms/chunks/cli.generate.md +52 -0
- package/.llms/chunks/cli.generate.modify-existing-mode-input.md +59 -0
- package/.llms/chunks/cli.generate.typical-ai-workflow.md +18 -0
- package/.llms/chunks/cli.plugin-authoring.md +59 -0
- package/.llms/chunks/cli.plugin-authoring.plugin-naming-conventions.md +11 -0
- package/.llms/chunks/cli.plugin-authoring.test-locally.md +41 -0
- package/.llms/chunks/cli.plugin-authoring.the-bpmnkit-cli-sdk-sdk.md +82 -0
- package/.llms/chunks/cli.plugin-authoring.what-gets-generated.md +69 -0
- package/.llms/chunks/cli.plugin-authoring.writing-commands.md +84 -0
- package/.llms/chunks/cli.plugins.bpmnkit-casen-report.md +39 -0
- package/.llms/chunks/cli.plugins.bpmnkit-casen-worker-http.md +23 -0
- package/.llms/chunks/cli.plugins.md +25 -0
- package/.llms/chunks/cli.skills.deploy.md +24 -0
- package/.llms/chunks/cli.skills.implement.md +36 -0
- package/.llms/chunks/cli.skills.md +29 -0
- package/.llms/chunks/cli.skills.no-mcp-server-required.md +6 -0
- package/.llms/chunks/cli.skills.review.md +33 -0
- package/.llms/chunks/cli.skills.test.md +33 -0
- package/.llms/chunks/cli.view.folder-support.md +31 -0
- package/.llms/chunks/cli.view.md +70 -0
- package/.llms/chunks/cli.view.tabbed-navigation.md +28 -0
- package/.llms/chunks/getting-started.concepts.ai-compact-format.md +23 -0
- package/.llms/chunks/getting-started.concepts.auto-layout.md +24 -0
- package/.llms/chunks/getting-started.concepts.parsing-and-serializing.md +26 -0
- package/.llms/chunks/getting-started.concepts.the-fluent-builder.md +41 -0
- package/.llms/chunks/getting-started.concepts.zeebe-extensions.md +25 -0
- package/.llms/chunks/getting-started.installation.md +38 -0
- package/.llms/chunks/getting-started.installation.runtime-requirements.md +13 -0
- package/.llms/chunks/getting-started.installation.svg-canvas-viewer.md +41 -0
- package/.llms/chunks/getting-started.installation.worker-client.md +40 -0
- package/.llms/chunks/getting-started.quick-start.md +31 -0
- package/.llms/chunks/getting-started.quick-start.step-2-simulate-locally.md +28 -0
- package/.llms/chunks/getting-started.quick-start.step-3-deploy-to-camunda-8.md +33 -0
- package/.llms/chunks/getting-started.quick-start.what-s-next.md +14 -0
- package/.llms/chunks/guides.ai-agents.deploy-grade-validation.md +19 -0
- package/.llms/chunks/guides.ai-agents.how-it-s-modeled.md +11 -0
- package/.llms/chunks/guides.ai-agents.md +18 -0
- package/.llms/chunks/guides.ai-agents.see-also.md +7 -0
- package/.llms/chunks/guides.ai-agents.testing-without-a-real-llm-call.md +26 -0
- package/.llms/chunks/guides.ai-agents.the-aiagent-plan-step.md +62 -0
- package/.llms/chunks/guides.ai-implement.deploying.md +49 -0
- package/.llms/chunks/guides.ai-implement.extending-an-existing-process.md +10 -0
- package/.llms/chunks/guides.ai-implement.lightweight-alternative-casen-skills-install.md +28 -0
- package/.llms/chunks/guides.ai-implement.md +32 -0
- package/.llms/chunks/guides.ai-implement.the-claude-code-plugin.md +21 -0
- package/.llms/chunks/guides.ai.claude-api-example.md +41 -0
- package/.llms/chunks/guides.ai.mcp-server.md +20 -0
- package/.llms/chunks/guides.ai.md +32 -0
- package/.llms/chunks/guides.ai.minimal-empty-diagram.md +32 -0
- package/.llms/chunks/guides.ai.openai-function-calling.md +40 -0
- package/.llms/chunks/guides.building-processes.boundary-events.md +47 -0
- package/.llms/chunks/guides.building-processes.call-activities.md +47 -0
- package/.llms/chunks/guides.building-processes.events.md +57 -0
- package/.llms/chunks/guides.building-processes.multi-instance.md +20 -0
- package/.llms/chunks/guides.building-processes.service-tasks.md +39 -0
- package/.llms/chunks/guides.building-processes.sub-processes.md +40 -0
- package/.llms/chunks/guides.building-processes.task-defaults.md +18 -0
- package/.llms/chunks/guides.claude-code-plugin.ambient-hooks.md +24 -0
- package/.llms/chunks/guides.claude-code-plugin.configuration.md +126 -0
- package/.llms/chunks/guides.claude-code-plugin.md +47 -0
- package/.llms/chunks/guides.claude-code-plugin.reference-docs.md +61 -0
- package/.llms/chunks/guides.deployment.ci-cd-deploy-on-push.md +47 -0
- package/.llms/chunks/guides.deployment.deploying-a-process.md +52 -0
- package/.llms/chunks/guides.deployment.handling-jobs.md +50 -0
- package/.llms/chunks/guides.deployment.managing-incidents.md +33 -0
- package/.llms/chunks/guides.deployment.md +49 -0
- package/.llms/chunks/guides.gateways.branching-inside-sub-processes.md +27 -0
- package/.llms/chunks/guides.gateways.exclusive-gateway-xor.md +41 -0
- package/.llms/chunks/guides.gateways.inclusive-gateway-or.md +43 -0
- package/.llms/chunks/guides.gateways.nested-branching.md +27 -0
- package/.llms/chunks/guides.gateways.parallel-gateway-and.md +26 -0
- package/.llms/chunks/guides.patterns.how-matching-works.md +17 -0
- package/.llms/chunks/guides.patterns.md +26 -0
- package/.llms/chunks/guides.patterns.pattern-schema.md +38 -0
- package/.llms/chunks/guides.patterns.see-also.md +7 -0
- package/.llms/chunks/guides.patterns.using-patterns-from-the-cli.md +30 -0
- package/.llms/chunks/guides.patterns.what-a-pattern-contains.md +18 -0
- package/.llms/chunks/guides.simulation.dmn-decision-evaluation.md +51 -0
- package/.llms/chunks/guides.simulation.instance-state.md +29 -0
- package/.llms/chunks/guides.simulation.md +51 -0
- package/.llms/chunks/guides.simulation.message-correlation.md +30 -0
- package/.llms/chunks/guides.simulation.multiple-deployments.md +14 -0
- package/.llms/chunks/guides.workers-standalone.anatomy-of-a-worker.md +42 -0
- package/.llms/chunks/guides.workers-standalone.camunda-saas.md +43 -0
- package/.llms/chunks/guides.workers-standalone.environment-variables.md +14 -0
- package/.llms/chunks/guides.workers-standalone.md +35 -0
- package/.llms/chunks/guides.workers-standalone.running-workers.md +61 -0
- package/.llms/chunks/guides.workers-standalone.see-also.md +7 -0
- package/.llms/chunks/packages.api.incident-resolution.md +31 -0
- package/.llms/chunks/packages.api.observability-events.md +13 -0
- package/.llms/chunks/packages.api.overview.md +49 -0
- package/.llms/chunks/packages.api.process-operations.md +60 -0
- package/.llms/chunks/packages.api.resource-namespaces.md +20 -0
- package/.llms/chunks/packages.canvas.events.md +56 -0
- package/.llms/chunks/packages.canvas.options.md +24 -0
- package/.llms/chunks/packages.canvas.overview.md +35 -0
- package/.llms/chunks/packages.connector-gen.body-expansion.md +18 -0
- package/.llms/chunks/packages.connector-gen.catalog-reference.md +54 -0
- package/.llms/chunks/packages.connector-gen.catalogentry-type.md +21 -0
- package/.llms/chunks/packages.connector-gen.generating-from-the-catalog.md +44 -0
- package/.llms/chunks/packages.connector-gen.installation.md +42 -0
- package/.llms/chunks/packages.connector-gen.lower-level-api.md +31 -0
- package/.llms/chunks/packages.connector-gen.overview.md +16 -0
- package/.llms/chunks/packages.connector-gen.writeoptions.md +26 -0
- package/.llms/chunks/packages.core.dmn-support.md +36 -0
- package/.llms/chunks/packages.core.installation-bpmn.creatediagram-id.md +18 -0
- package/.llms/chunks/packages.core.installation-bpmn.createprocess-id-name.md +10 -0
- package/.llms/chunks/packages.core.installation-bpmn.export-definitions.md +10 -0
- package/.llms/chunks/packages.core.installation-bpmn.makeempty-processid-processname.md +11 -0
- package/.llms/chunks/packages.core.installation-bpmn.parse-xml.md +10 -0
- package/.llms/chunks/packages.core.installation-bpmn.sample_xml.md +7 -0
- package/.llms/chunks/packages.core.installation-compactify-definitions.md +13 -0
- package/.llms/chunks/packages.core.installation-expand-compact.md +13 -0
- package/.llms/chunks/packages.core.installation-layoutprocess-process.md +15 -0
- package/.llms/chunks/packages.core.installation-processbuilder-methods.md +29 -0
- package/.llms/chunks/packages.core.installation.md +11 -0
- package/.llms/chunks/packages.core.overview.md +15 -0
- package/.llms/chunks/packages.docspack.installation.md +45 -0
- package/.llms/chunks/packages.docspack.overview.md +23 -0
- package/.llms/chunks/packages.docspack.reading-it-yourself.md +34 -0
- package/.llms/chunks/packages.docspack.trust.md +13 -0
- package/.llms/chunks/packages.docspack.using-the-index-directly.md +52 -0
- package/.llms/chunks/packages.editor.basic-setup.md +41 -0
- package/.llms/chunks/packages.editor.full-editor-with-all-plugins.md +30 -0
- package/.llms/chunks/packages.editor.hud-options.md +41 -0
- package/.llms/chunks/packages.editor.overview.md +21 -0
- package/.llms/chunks/packages.engine.installation.md +77 -0
- package/.llms/chunks/packages.engine.overview.md +19 -0
- package/.llms/chunks/packages.engine.processinstance.md +17 -0
- package/.llms/chunks/packages.engine.variable-scoping.md +27 -0
- package/.llms/chunks/packages.worker-client.client.poll-jobtype-options.md +40 -0
- package/.llms/chunks/packages.worker-client.createworkerclient-options.md +32 -0
- package/.llms/chunks/packages.worker-client.job.complete-variables.md +29 -0
- package/.llms/chunks/packages.worker-client.md +33 -0
- package/.llms/chunks/packages.worker-client.oauth2-camunda-saas.md +26 -0
- package/.llms/chunks/packages.worker-client.see-also.md +7 -0
- package/.llms/manifest.json +2083 -0
- package/LICENSE +21 -0
- package/README.md +150 -0
- package/dist/build.d.ts +29 -0
- package/dist/build.js +89 -0
- package/dist/chunk.d.ts +41 -0
- package/dist/chunk.js +242 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.js +160 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +12 -0
- package/dist/load.d.ts +27 -0
- package/dist/load.js +144 -0
- package/dist/search.d.ts +53 -0
- package/dist/search.js +104 -0
- package/dist/text.d.ts +22 -0
- package/dist/text.js +204 -0
- package/dist/types.d.ts +48 -0
- package/dist/types.js +3 -0
- package/llms.txt +174 -0
- package/package.json +76 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# casen generate
|
|
2
|
+
|
|
3
|
+
`casen generate bpmn` produces BPMN 2.0 files without the interactive TUI. It has three operating
|
|
4
|
+
modes: template, definition (full JSON), and modify-existing (patch). Auto-layout is applied in all modes.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
casen generate
|
|
11
|
+
└── bpmn — generate or modify a BPMN file
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## Template mode
|
|
16
|
+
|
|
17
|
+
Pick a built-in template by name. Use `--process-id` and `--name` to customise the identifiers.
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
casen generate bpmn --template minimal --process-id order --name "Order Processing"
|
|
21
|
+
casen generate bpmn --template approval --process-id leave-request
|
|
22
|
+
casen generate bpmn --template parallel --process-id enrichment --name Enrichment
|
|
23
|
+
casen generate bpmn --template timer-start --process-id nightly-sync
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
| Template | Pattern |
|
|
27
|
+
|---|---|
|
|
28
|
+
| `empty` | Start event only — bare skeleton |
|
|
29
|
+
| `minimal` | Start → service task → end |
|
|
30
|
+
| `user-task` | Start → user task → end |
|
|
31
|
+
| `call-activity` | Start → call activity → end |
|
|
32
|
+
| `business-rule` | Start → business rule task → end |
|
|
33
|
+
| `approval` | Start → user task → XOR gateway → approve/reject paths |
|
|
34
|
+
| `parallel` | Start → parallel fork → 2 service tasks → join → end |
|
|
35
|
+
| `inclusive` | Start → inclusive gateway → 2 conditional tasks → merge → end |
|
|
36
|
+
| `timer-start` | Timer start event → service task → end |
|
|
37
|
+
| `message-start` | Message start event → service task → end |
|
|
38
|
+
| `error-boundary` | Service task with error boundary → two end events |
|
|
39
|
+
| `subprocess` | Start → embedded sub-process → end |
|
|
40
|
+
| `event-subprocess` | Process with a non-interrupting error event sub-process |
|
|
41
|
+
|
|
42
|
+
### Flags
|
|
43
|
+
|
|
44
|
+
| Flag | Short | Description | Default |
|
|
45
|
+
|---|---|---|---|
|
|
46
|
+
| `--template` | | Template name (see table above) | `minimal` |
|
|
47
|
+
| `--process-id` | `-i` | Process element ID | `process` |
|
|
48
|
+
| `--name` | `-n` | Process display name | — |
|
|
49
|
+
| `--output` | `-o` | Output file path (`-` for stdout) | `<process-id>.bpmn` |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
Source: https://docs.bpmnkit.com/cli/generate/
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# casen generate — Modify-existing mode (`--input`)
|
|
2
|
+
|
|
3
|
+
Load an existing `.bpmn` file and patch it — add elements and flows, then re-apply auto-layout.
|
|
4
|
+
The default output overwrites the input file.
|
|
5
|
+
|
|
6
|
+
### Inspect the current state
|
|
7
|
+
|
|
8
|
+
Use `--dump-compact` to print the file's CompactDiagram JSON. Use this to discover existing
|
|
9
|
+
element IDs before writing a patch.
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
casen generate bpmn --input order.bpmn --dump-compact
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Output is a `CompactDiagram` JSON object — the same format accepted by `--definition`.
|
|
16
|
+
|
|
17
|
+
### Add elements and flows
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
# Add a rejection path to an existing gateway with id "gw"
|
|
21
|
+
casen generate bpmn --input order.bpmn \
|
|
22
|
+
--patch '{"elements":[
|
|
23
|
+
{"id":"notify", "type":"serviceTask","name":"Notify Customer","jobType":"notify-worker"},
|
|
24
|
+
{"id":"end-reject", "type":"endEvent", "name":"Rejected"}
|
|
25
|
+
],"flows":[
|
|
26
|
+
{"id":"fn1","from":"gw", "to":"notify", "condition":"= not approved","name":"No"},
|
|
27
|
+
{"id":"fn2","from":"notify", "to":"end-reject"}
|
|
28
|
+
]}'
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Patch mode appends to the **first process** in the file. Flows in the patch can reference existing
|
|
32
|
+
element IDs — they are not required to be new.
|
|
33
|
+
|
|
34
|
+
### Pipe a patch from AI output
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
# AI generates the patch JSON, pipe it in
|
|
38
|
+
echo '{"elements":[...],"flows":[...]}' | casen generate bpmn --input order.bpmn
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Normalize layout
|
|
42
|
+
|
|
43
|
+
Run `--input` without `--patch` to re-apply auto-layout without changing the process model:
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
casen generate bpmn --input messy.bpmn --output clean.bpmn
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Flags for `--input` mode
|
|
50
|
+
|
|
51
|
+
| Flag | Description | Default |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| `--input` / `-f` | Existing `.bpmn` file to load | — |
|
|
54
|
+
| `--patch` | JSON patch: `{"elements":[...],"flows":[...]}` | — |
|
|
55
|
+
| `--dump-compact` | Print CompactDiagram JSON of `--input` and exit | — |
|
|
56
|
+
| `--output` / `-o` | Output path (`-` for stdout) | Overwrites `--input` file |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
Source: https://docs.bpmnkit.com/cli/generate/
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# casen generate — Typical AI workflow
|
|
2
|
+
|
|
3
|
+
```sh
|
|
4
|
+
# 1. Inspect the existing file — AI learns element IDs
|
|
5
|
+
casen generate bpmn --input order.bpmn --dump-compact
|
|
6
|
+
|
|
7
|
+
# 2. Check the schema if needed
|
|
8
|
+
casen generate bpmn --help-schema
|
|
9
|
+
|
|
10
|
+
# 3. AI generates patch JSON and pipes it in
|
|
11
|
+
echo '{"elements":[...],"flows":[...]}' | casen generate bpmn --input order.bpmn
|
|
12
|
+
|
|
13
|
+
# 4. Verify the result
|
|
14
|
+
casen view bpmn order.bpmn
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
Source: https://docs.bpmnkit.com/cli/generate/
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# casen Plugin Authoring
|
|
2
|
+
|
|
3
|
+
casen plugins are ordinary npm packages that export a `CasenPlugin` object. Once installed, their
|
|
4
|
+
commands appear in the main TUI and in shell tab-completion alongside the built-in ones.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## Scaffold a new plugin
|
|
8
|
+
|
|
9
|
+
The fastest way to start is with the official scaffolding tool:
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
pnpm create @bpmnkit/casen-plugin
|
|
13
|
+
# or: npx @bpmnkit/create-casen-plugin
|
|
14
|
+
# or: bunx @bpmnkit/create-casen-plugin
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The tool runs interactively:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
@bpmnkit/create-casen-plugin — casen plugin scaffolding
|
|
21
|
+
|
|
22
|
+
Plugin name (npm package name): casen-deploy
|
|
23
|
+
Display name (Deploy):
|
|
24
|
+
Description (): Git-tag-aware deploys for casen
|
|
25
|
+
Author (): acme
|
|
26
|
+
|
|
27
|
+
Initialize git repo? (Y/n): Y
|
|
28
|
+
|
|
29
|
+
✓ package.json
|
|
30
|
+
✓ tsconfig.json
|
|
31
|
+
✓ src/index.ts
|
|
32
|
+
✓ .gitignore
|
|
33
|
+
✓ git init
|
|
34
|
+
|
|
35
|
+
Done! Created casen-deploy at ./casen-deploy
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Non-interactive mode
|
|
39
|
+
|
|
40
|
+
Pass flags to skip all prompts — useful in CI or cookiecutter scripts:
|
|
41
|
+
|
|
42
|
+
```sh
|
|
43
|
+
pnpm create @bpmnkit/casen-plugin \
|
|
44
|
+
--name casen-deploy \
|
|
45
|
+
--description "Git-tag-aware deploys for casen" \
|
|
46
|
+
--author acme \
|
|
47
|
+
--no-git
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
| Flag | Description |
|
|
51
|
+
|---|---|
|
|
52
|
+
| `--name` / `-n` | npm package name (first positional arg also works) |
|
|
53
|
+
| `--display-name` | Human-readable name shown in `casen plugin list` |
|
|
54
|
+
| `--description` / `-d` | One-line description |
|
|
55
|
+
| `--author` / `-a` | Author name or npm username |
|
|
56
|
+
| `--no-git` | Skip `git init` |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
Source: https://docs.bpmnkit.com/cli/plugin-authoring/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# casen Plugin Authoring — Plugin naming conventions
|
|
2
|
+
|
|
3
|
+
| Convention | Reason |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Name packages `casen-<feature>` | Predictable, easy to search |
|
|
6
|
+
| Set `id` to a reverse-domain string | Avoids conflicts across organisations |
|
|
7
|
+
| Keep each group name unique | casen merges all groups into one flat namespace |
|
|
8
|
+
| Prefix group name with your org for internal plugins | e.g. `acme-deploy` avoids clashing with a published `casen-deploy` |
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
Source: https://docs.bpmnkit.com/cli/plugin-authoring/
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# casen Plugin Authoring — Test locally
|
|
2
|
+
|
|
3
|
+
Build and install your plugin from the local directory:
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
cd casen-deploy
|
|
7
|
+
pnpm install
|
|
8
|
+
pnpm build
|
|
9
|
+
|
|
10
|
+
casen plugin install ./casen-deploy
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Restart casen. Your commands appear under `casen deploy` (or whatever group name you chose).
|
|
14
|
+
|
|
15
|
+
To uninstall during development:
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
casen plugin remove casen-deploy
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Publish to npm
|
|
23
|
+
|
|
24
|
+
When you're ready to share:
|
|
25
|
+
|
|
26
|
+
```sh
|
|
27
|
+
cd casen-deploy
|
|
28
|
+
npm publish
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The `prepublishOnly` script in the generated `package.json` runs `tsc` automatically before
|
|
32
|
+
publishing, so `dist/` is always up to date.
|
|
33
|
+
|
|
34
|
+
Because `"casen-plugin"` is in `keywords`, your package is immediately discoverable via:
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
casen plugin search deploy
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
Source: https://docs.bpmnkit.com/cli/plugin-authoring/
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# casen Plugin Authoring — The `@bpmnkit/cli-sdk` SDK
|
|
2
|
+
|
|
3
|
+
Install the SDK as a devDependency in your plugin:
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
pnpm add -D @bpmnkit/cli-sdk
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
It exports all types you need — no runtime dependency on casen internals.
|
|
10
|
+
|
|
11
|
+
### `CasenPlugin`
|
|
12
|
+
|
|
13
|
+
The root export. Default-export one instance of this from `dist/index.js`:
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
interface CasenPlugin {
|
|
17
|
+
id: string // reverse-domain ID, e.g. "com.acme.casen-deploy"
|
|
18
|
+
name: string // shown in "casen plugin list"
|
|
19
|
+
version: string
|
|
20
|
+
groups: CommandGroup[]
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### `CommandGroup`
|
|
25
|
+
|
|
26
|
+
Maps to one top-level token in the CLI (`casen <group>`). The name must be unique across all
|
|
27
|
+
installed plugins and the casen core commands:
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
interface CommandGroup {
|
|
31
|
+
name: string // kebab-case, e.g. "deploy"
|
|
32
|
+
aliases?: string[]
|
|
33
|
+
description: string
|
|
34
|
+
commands: Command[]
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### `Command`
|
|
39
|
+
|
|
40
|
+
A single executable action within a group (`casen <group> <command>`):
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
interface Command {
|
|
44
|
+
name: string
|
|
45
|
+
aliases?: string[]
|
|
46
|
+
description: string
|
|
47
|
+
args?: ArgSpec[]
|
|
48
|
+
flags?: FlagSpec[]
|
|
49
|
+
examples?: Example[]
|
|
50
|
+
run(ctx: RunContext): Promise<void>
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### `RunContext`
|
|
55
|
+
|
|
56
|
+
Passed to every `run()` function. Use it to read arguments, write output, and access
|
|
57
|
+
authenticated Camunda clients:
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
interface RunContext {
|
|
61
|
+
positional: string[] // positional args after <group> <command>
|
|
62
|
+
flags: ParsedFlags // { flagName: value }
|
|
63
|
+
output: OutputWriter // table / json / yaml renderer
|
|
64
|
+
getClient(): Promise<unknown> // Camunda C8 REST client
|
|
65
|
+
getAdminClient(): Promise<unknown> // Camunda Admin API client
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### `OutputWriter`
|
|
70
|
+
|
|
71
|
+
Use `ctx.output` for all output so the `--output` flag (table / json / yaml) is respected:
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
ctx.output.ok("Done.") // ✓ Done.
|
|
75
|
+
ctx.output.info("Deploying…") // → Deploying…
|
|
76
|
+
ctx.output.printList({ items }, columns) // table of rows
|
|
77
|
+
ctx.output.printItem(singleObject) // key-value pairs
|
|
78
|
+
ctx.output.print(anything) // raw, format-aware
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
Source: https://docs.bpmnkit.com/cli/plugin-authoring/
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# casen Plugin Authoring — What gets generated
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
casen-deploy/
|
|
5
|
+
├── package.json # "casen-plugin" keyword pre-set; no manual step needed
|
|
6
|
+
├── tsconfig.json # standalone, no monorepo dependency
|
|
7
|
+
├── .gitignore
|
|
8
|
+
└── src/
|
|
9
|
+
└── index.ts # CasenPlugin default export with an example command
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
### Generated `package.json`
|
|
13
|
+
|
|
14
|
+
```json
|
|
15
|
+
{
|
|
16
|
+
"name": "casen-deploy",
|
|
17
|
+
"version": "0.1.0",
|
|
18
|
+
"description": "Git-tag-aware deploys for casen",
|
|
19
|
+
"type": "module",
|
|
20
|
+
"main": "dist/index.js",
|
|
21
|
+
"keywords": ["casen-plugin"],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "tsc",
|
|
24
|
+
"build:watch": "tsc --watch",
|
|
25
|
+
"prepublishOnly": "tsc"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@bpmnkit/cli-sdk": "latest",
|
|
29
|
+
"typescript": "latest"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
The `"casen-plugin"` keyword is injected automatically — it is how `casen plugin search` discovers
|
|
35
|
+
your package on npm once published.
|
|
36
|
+
|
|
37
|
+
### Generated `src/index.ts`
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
import type { CasenPlugin } from "@bpmnkit/cli-sdk"
|
|
41
|
+
|
|
42
|
+
const plugin: CasenPlugin = {
|
|
43
|
+
id: "com.acme.casen-deploy",
|
|
44
|
+
name: "Deploy",
|
|
45
|
+
version: "0.1.0",
|
|
46
|
+
groups: [
|
|
47
|
+
{
|
|
48
|
+
name: "deploy",
|
|
49
|
+
description: "Deploy commands",
|
|
50
|
+
commands: [
|
|
51
|
+
{
|
|
52
|
+
name: "hello",
|
|
53
|
+
description: "Example command — replace with your own",
|
|
54
|
+
async run(ctx) {
|
|
55
|
+
ctx.output.ok("Hello from Deploy!")
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export default plugin
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Replace the example command with your own logic. Add as many command groups and commands as needed.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
Source: https://docs.bpmnkit.com/cli/plugin-authoring/
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# casen Plugin Authoring — Writing commands
|
|
2
|
+
|
|
3
|
+
### Positional arguments
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
{
|
|
7
|
+
name: "release",
|
|
8
|
+
description: "Tag and deploy the current process version",
|
|
9
|
+
args: [
|
|
10
|
+
{ name: "process-id", description: "BPMN process ID", required: true },
|
|
11
|
+
{ name: "tag", description: "Release tag, e.g. v1.2.0", required: true },
|
|
12
|
+
],
|
|
13
|
+
async run(ctx) {
|
|
14
|
+
const processId = ctx.positional[0]
|
|
15
|
+
const tag = ctx.positional[1]
|
|
16
|
+
if (!processId || !tag) throw new Error("Missing required arguments")
|
|
17
|
+
// ...
|
|
18
|
+
},
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Flags
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
{
|
|
26
|
+
name: "release",
|
|
27
|
+
flags: [
|
|
28
|
+
{
|
|
29
|
+
name: "dry-run",
|
|
30
|
+
short: "n",
|
|
31
|
+
description: "Show what would happen without making changes",
|
|
32
|
+
type: "boolean",
|
|
33
|
+
default: false,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "env",
|
|
37
|
+
description: "Target environment",
|
|
38
|
+
type: "string",
|
|
39
|
+
default: "production",
|
|
40
|
+
enum: ["staging", "production"],
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
async run(ctx) {
|
|
44
|
+
const dryRun = ctx.flags["dry-run"] === true
|
|
45
|
+
const env = ctx.flags.env as string
|
|
46
|
+
// ...
|
|
47
|
+
},
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Calling the Camunda API
|
|
52
|
+
|
|
53
|
+
Cast `getClient()` to `CamundaClient` from `@bpmnkit/api` if you need full type coverage,
|
|
54
|
+
or access it generically via the unknown type:
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
import type { CamundaClient } from "@bpmnkit/api"
|
|
58
|
+
|
|
59
|
+
async run(ctx) {
|
|
60
|
+
const client = await ctx.getClient() as CamundaClient
|
|
61
|
+
const { items } = await client.processDefinition.searchProcessDefinitions({})
|
|
62
|
+
ctx.output.printList({ items }, [
|
|
63
|
+
{ key: "bpmnProcessId", header: "PROCESS ID" },
|
|
64
|
+
{ key: "name", header: "NAME" },
|
|
65
|
+
{ key: "version", header: "VER" },
|
|
66
|
+
])
|
|
67
|
+
},
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Throwing errors
|
|
71
|
+
|
|
72
|
+
Throw a plain `Error` for user-facing errors. casen catches it, prints `error: <message>` to
|
|
73
|
+
stderr, and exits with code 1:
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
async run(ctx) {
|
|
77
|
+
const name = ctx.positional[0]
|
|
78
|
+
if (!name) throw new Error("Missing required argument: <name>")
|
|
79
|
+
// ...
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
Source: https://docs.bpmnkit.com/cli/plugin-authoring/
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# casen Plugins — `@bpmnkit/casen-report`
|
|
2
|
+
|
|
3
|
+
Render HTML reports from Camunda 8 incident and SLA data
|
|
4
|
+
|
|
5
|
+
### Installation
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
casen plugin install @bpmnkit/casen-report
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
| Command | Description |
|
|
12
|
+
|---------|-------------|
|
|
13
|
+
| `casen report incidents` | Generate an HTML report of current incidents grouped by process |
|
|
14
|
+
| `casen report sla` | Generate an SLA compliance report for process instances |
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## `@bpmnkit/casen-worker-ai`
|
|
20
|
+
|
|
21
|
+
AI task worker plugin for casen — classify, summarize, extract, and decide using Claude
|
|
22
|
+
|
|
23
|
+
### Installation
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
casen plugin install @bpmnkit/casen-worker-ai
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
| Command | Description |
|
|
30
|
+
|---------|-------------|
|
|
31
|
+
| `casen ai-worker classify` | Classify text into one of the given categories |
|
|
32
|
+
| `casen ai-worker summarize` | Summarize text to a given length and style |
|
|
33
|
+
| `casen ai-worker extract` | Extract structured fields from unstructured text |
|
|
34
|
+
| `casen ai-worker decide` | Make a boolean decision based on a question, context, and optional policy |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
Source: https://docs.bpmnkit.com/cli/plugins/
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# casen Plugins — `@bpmnkit/casen-worker-http`
|
|
2
|
+
|
|
3
|
+
Example casen worker plugin — processes HTTP connector jobs using the JSONPlaceholder API
|
|
4
|
+
|
|
5
|
+
### Installation
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
casen plugin install @bpmnkit/casen-worker-http
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
| Command | Description |
|
|
12
|
+
|---------|-------------|
|
|
13
|
+
| `casen http-worker start` | Subscribe to HTTP connector jobs and complete them with live API data |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Authoring Plugins
|
|
19
|
+
|
|
20
|
+
See the [Plugin Authoring](/cli/plugin-authoring/) guide to build and publish your own `casen` plugin.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
Source: https://docs.bpmnkit.com/cli/plugins/
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# casen Plugins
|
|
2
|
+
|
|
3
|
+
:::note[Auto-generated]
|
|
4
|
+
This page is generated from `plugins-cli/*/package.json` during the docs build. Do not edit manually.
|
|
5
|
+
:::
|
|
6
|
+
|
|
7
|
+
Official plugins extend `casen` with domain-specific command groups. Install them with:
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
casen plugin install <name>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## Available Plugins
|
|
15
|
+
|
|
16
|
+
| Plugin | Description |
|
|
17
|
+
|--------|-------------|
|
|
18
|
+
| [`@bpmnkit/casen-report`](#-bpmnkit-casen-report) | Render HTML reports from Camunda 8 incident and SLA data |
|
|
19
|
+
| [`@bpmnkit/casen-worker-ai`](#-bpmnkit-casen-worker-ai) | AI task worker plugin for casen — classify, summarize, extract, and decide using Claude |
|
|
20
|
+
| [`@bpmnkit/casen-worker-http`](#-bpmnkit-casen-worker-http) | Example casen worker plugin — processes HTTP connector jobs using the JSONPlaceholder API |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
Source: https://docs.bpmnkit.com/cli/plugins/
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# AIKit Skills — `/deploy`
|
|
2
|
+
|
|
3
|
+
Gate a BPMN process on deploy-readiness, then deploy it to local Reebe or Camunda 8.
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
/deploy invoice-approval.bpmn
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
**What it does:**
|
|
10
|
+
|
|
11
|
+
1. Runs `casen lint lint <file> --profile deploy` — stops if it reports any errors
|
|
12
|
+
2. Deploys via `casen deploy deploy <file>` (local) or `casen deploy deploy <file> --target camunda8`
|
|
13
|
+
3. Verifies with `casen process-definition list`
|
|
14
|
+
4. Reminds you to start any scaffolded workers and provision any `{{secrets.NAME}}` the process references
|
|
15
|
+
|
|
16
|
+
**Targets:**
|
|
17
|
+
|
|
18
|
+
- **Local Reebe** — deploys via `ZEEBE_ADDRESS` (default `http://localhost:26500`). Start Reebe first: `casen reebe start --port 26500`
|
|
19
|
+
- **Camunda 8** — deploys using the active `casen` profile. Set one up: `casen profile create`
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
Source: https://docs.bpmnkit.com/cli/skills/
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# AIKit Skills — `/implement`
|
|
2
|
+
|
|
3
|
+
End-to-end process implementation from a natural language description.
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
/implement an invoice approval process for accounts payable
|
|
7
|
+
/implement employee onboarding with Okta provisioning and Jira ticket creation
|
|
8
|
+
/implement a supplier contract review workflow with DocuSign e-signature
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
**What it does:**
|
|
12
|
+
|
|
13
|
+
1. Resolves external interactions via `casen connector search`/`show`
|
|
14
|
+
2. Writes a `ProcessPlan` JSON file
|
|
15
|
+
3. Compiles it with `casen synth`, fixing any reported problems in the plan and retrying
|
|
16
|
+
4. Adds test scenarios and runs `casen test`
|
|
17
|
+
5. Scaffolds a worker stub for every job type with no existing worker or connector
|
|
18
|
+
6. Presents a summary and asks where to deploy
|
|
19
|
+
|
|
20
|
+
**Output:**
|
|
21
|
+
```
|
|
22
|
+
BPMN file: invoice-approval.bpmn
|
|
23
|
+
|
|
24
|
+
Connectors used: none
|
|
25
|
+
Workers: reused none / scaffolded workers/validate-invoice/, workers/trigger-payment/
|
|
26
|
+
Tests: 3/3 passed
|
|
27
|
+
|
|
28
|
+
Deploy to local Reebe, deploy to Camunda 8, or skip?
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
See [Building Processes with AI](/guides/ai-implement/) for a full walkthrough.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
Source: https://docs.bpmnkit.com/cli/skills/
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# AIKit Skills
|
|
2
|
+
|
|
3
|
+
`casen` ships four lightweight Claude Code slash commands that automate the process
|
|
4
|
+
development lifecycle — from natural language description to deployed, running process.
|
|
5
|
+
They drive `casen` directly (no MCP server, no proxy daemon).
|
|
6
|
+
|
|
7
|
+
For the full skill set — `/bpmnkit:implement`, `:extend`, `:agent`, `:connect`, plus generated
|
|
8
|
+
reference docs the skills read before authoring a plan — install the
|
|
9
|
+
[Claude Code plugin](/guides/ai-implement/#the-claude-code-plugin) instead.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
```sh
|
|
15
|
+
casen skills install
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Copies the skill files into `.claude/commands/` in the current project directory.
|
|
19
|
+
Once installed, they appear in Claude Code's slash command picker.
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
# Reinstall or overwrite existing skills
|
|
23
|
+
casen skills install --force
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
Source: https://docs.bpmnkit.com/cli/skills/
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# AIKit Skills — No MCP server required
|
|
2
|
+
|
|
3
|
+
These skills are plain Bash + Read/Write — they call `casen` directly and never depend on an MCP server or a running proxy. The `@bpmnkit/proxy` MCP server (`bpmn-aikit`) still exists separately, for Claude Desktop/Cursor or other MCP-only hosts — it's unrelated to these slash commands.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
Source: https://docs.bpmnkit.com/cli/skills/
|