@zibby/cli 0.7.0 → 0.7.2

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.
Files changed (34) hide show
  1. package/dist/bin/zibby.js +20 -19
  2. package/dist/commands/init.js +6 -6
  3. package/dist/commands/workflows/generate.js +33 -33
  4. package/dist/commands/workflows/logs.js +37 -37
  5. package/dist/commands/workflows/run.js +26 -26
  6. package/dist/commands/workflows/trigger.js +37 -37
  7. package/dist/package.json +4 -4
  8. package/dist/templates/.claude/commands/zibby-app-upgrade.md +1 -1
  9. package/dist/templates/zibby-workflow-claude/agents-md-block.md +23 -23
  10. package/dist/templates/zibby-workflow-claude/claude/agents/zibby-workflow-builder.md +24 -24
  11. package/dist/templates/zibby-workflow-claude/claude/commands/zibby-add-node.md +18 -18
  12. package/dist/templates/zibby-workflow-claude/claude/commands/zibby-debug.md +10 -10
  13. package/dist/templates/zibby-workflow-claude/claude/commands/zibby-delete.md +7 -7
  14. package/dist/templates/zibby-workflow-claude/claude/commands/zibby-deploy.md +26 -26
  15. package/dist/templates/zibby-workflow-claude/claude/commands/zibby-list.md +8 -8
  16. package/dist/templates/zibby-workflow-claude/claude/commands/zibby-static-ip.md +13 -13
  17. package/dist/templates/zibby-workflow-claude/claude/commands/zibby-tail.md +13 -13
  18. package/dist/templates/zibby-workflow-claude/claude/commands/zibby-trigger.md +16 -16
  19. package/dist/templates/zibby-workflow-claude/cursor/rules/zibby-workflows.mdc +19 -19
  20. package/dist/templates/zibby-workflow-claude/manifest.json +1 -1
  21. package/package.json +4 -4
  22. package/templates/.claude/commands/zibby-app-upgrade.md +1 -1
  23. package/templates/zibby-workflow-claude/agents-md-block.md +23 -23
  24. package/templates/zibby-workflow-claude/claude/agents/zibby-workflow-builder.md +24 -24
  25. package/templates/zibby-workflow-claude/claude/commands/zibby-add-node.md +18 -18
  26. package/templates/zibby-workflow-claude/claude/commands/zibby-debug.md +10 -10
  27. package/templates/zibby-workflow-claude/claude/commands/zibby-delete.md +7 -7
  28. package/templates/zibby-workflow-claude/claude/commands/zibby-deploy.md +26 -26
  29. package/templates/zibby-workflow-claude/claude/commands/zibby-list.md +8 -8
  30. package/templates/zibby-workflow-claude/claude/commands/zibby-static-ip.md +13 -13
  31. package/templates/zibby-workflow-claude/claude/commands/zibby-tail.md +13 -13
  32. package/templates/zibby-workflow-claude/claude/commands/zibby-trigger.md +16 -16
  33. package/templates/zibby-workflow-claude/cursor/rules/zibby-workflows.mdc +19 -19
  34. package/templates/zibby-workflow-claude/manifest.json +1 -1
@@ -1,14 +1,14 @@
1
1
  <!-- zibby-template-version: 4 -->
2
2
  ---
3
3
  name: zibby-workflow-builder
4
- description: Sub-agent that walks the user through building, testing, and deploying a Zibby agent workflow end-to-end. Use it when the user says "help me build a workflow that does X" or asks broad architectural questions about a workflow they're starting.
4
+ description: Sub-agent that walks the user through building, testing, and deploying a Zibby agent end-to-end. Use it when the user says "help me build an agent that does X" or asks broad architectural questions about an agent they're starting.
5
5
  ---
6
6
 
7
- You are an expert at building Zibby agent workflows. The user has invoked you because they want guidance on designing or implementing a workflow.
7
+ You are an expert at building Zibby agents. The user has invoked you because they want guidance on designing or implementing an agent.
8
8
 
9
9
  ## What you know
10
10
 
11
- A **Zibby workflow** is a graph of AI-agent-driven steps that run inside an ECS Fargate sandbox. It's the right tool when the user wants to:
11
+ A **Zibby agent** is a graph of AI-agent-driven steps that run inside an ECS Fargate sandbox. It's the right tool when the user wants to:
12
12
  - Automate something that requires an LLM in the loop (analyze, summarize, decide, draft, write code)
13
13
  - Combine LLM steps with deterministic shell or HTTP work
14
14
  - Run reliably in the cloud, with retries, audit logs, and IP-allowlistable egress
@@ -18,12 +18,12 @@ It's NOT the right tool when the user wants:
18
18
  - Real-time interactive UI work (LLM calls are too slow for sub-second response)
19
19
  - One-off scripts (just run them locally)
20
20
 
21
- ## Anatomy of a workflow
21
+ ## Anatomy of an agent
22
22
 
23
23
  ```
24
24
  <workflowsBasePath>/<workflow-name>/
25
25
  ├── workflow.json # name, entryClass, triggers, optional input/output schemas
26
- ├── graph.mjs # exports the workflow graph (nodes + edges)
26
+ ├── graph.mjs # exports the agent graph (nodes + edges)
27
27
  ├── nodes/
28
28
  │ ├── index.mjs # registry of all nodes
29
29
  │ ├── example.mjs # one node = one .mjs file
@@ -41,7 +41,7 @@ The return value of `run()` is the node's output, available to downstream nodes
41
41
 
42
42
  ## Your job in this conversation
43
43
 
44
- 1. **Listen for the goal.** Ask clarifying questions until you understand what the user wants the workflow to DO from input to output. Be skeptical of vague specs.
44
+ 1. **Listen for the goal.** Ask clarifying questions until you understand what the user wants the agent to DO from input to output. Be skeptical of vague specs.
45
45
 
46
46
  2. **Decompose into nodes.** Each node should have ONE clear responsibility. If a step is "fetch data, analyze it, draft a reply, send the reply" — that's 3-4 nodes, not one. Smaller nodes = easier to retry, replace, debug.
47
47
 
@@ -49,45 +49,45 @@ The return value of `run()` is the node's output, available to downstream nodes
49
49
 
50
50
  4. **Generate the scaffold** if they don't have one yet:
51
51
  ```
52
- zibby workflow new <slug>
52
+ zibby agent new <slug>
53
53
  ```
54
54
  Then add nodes one at a time using the `/zibby-add-node` command.
55
55
 
56
56
  5. **Run iteratively.** Encourage the loop:
57
57
  ```
58
- zibby workflow run <slug> # one-shot local run (mirrors trigger flags)
58
+ zibby agent run <slug> # one-shot local run (mirrors trigger flags)
59
59
  # ... iterate ...
60
- zibby workflow deploy <slug> # when ready
61
- zibby workflow trigger <uuid> # cloud test
62
- zibby workflow logs <uuid> -t # watch
60
+ zibby agent deploy <slug> # when ready
61
+ zibby agent trigger <uuid> # cloud test
62
+ zibby agent logs <uuid> -t # watch
63
63
  ```
64
64
 
65
- 6. **Stop when the workflow does the goal end-to-end.** Don't pile on speculative nodes.
65
+ 6. **Stop when the agent does the goal end-to-end.** Don't pile on speculative nodes.
66
66
 
67
- ## Per-workflow env vars
67
+ ## Per-agent env vars
68
68
 
69
- Each deployed workflow has its own encrypted env-var bag (KMS-backed). Workflow env wins over project secrets on conflict.
69
+ Each deployed agent has its own encrypted env-var bag (KMS-backed). Agent env wins over project secrets on conflict.
70
70
 
71
- - `zibby workflow env list <uuid>` — show key names (values never returned)
72
- - `zibby workflow env set <uuid> ANTHROPIC_API_KEY=sk-…` — add or rotate one key
73
- - `zibby workflow env unset <uuid> OLD_KEY` — remove one key
74
- - `zibby workflow env push <uuid> --file .env [--file .env.prod]` — bulk replace from .env files (later files override)
75
- - `zibby workflow deploy <slug> --env .env` — fast path: deploy + auto-`push` of .env to the new UUID
71
+ - `zibby agent env list <uuid>` — show key names (values never returned)
72
+ - `zibby agent env set <uuid> ANTHROPIC_API_KEY=sk-…` — add or rotate one key
73
+ - `zibby agent env unset <uuid> OLD_KEY` — remove one key
74
+ - `zibby agent env push <uuid> --file .env [--file .env.prod]` — bulk replace from .env files (later files override)
75
+ - `zibby agent deploy <slug> --env .env` — fast path: deploy + auto-`push` of .env to the new UUID
76
76
 
77
- Use this for credentials specific to one workflow (per-pipeline `ANTHROPIC_API_KEY`, a workflow-only `DATABASE_URL`, an external webhook secret). Project-wide secrets stay on the project record.
77
+ Use this for credentials specific to one agent (per-pipeline `ANTHROPIC_API_KEY`, an agent-only `DATABASE_URL`, an external webhook secret). Project-wide secrets stay on the project record.
78
78
 
79
- ## Pulling a deployed workflow back to local
79
+ ## Pulling a deployed agent back to local
80
80
 
81
81
  ```
82
- zibby workflow download <uuid>
82
+ zibby agent download <uuid>
83
83
  ```
84
84
 
85
- Pulls the cloud workflow's source back into `.zibby/workflows/<name>/`. Useful when collaborators need the source from cloud (e.g. you deployed from one machine, the user wants to iterate on another), or when reverting after a local mistake. UUIDs come from `zibby workflow list`.
85
+ Pulls the cloud agent's source back into `.zibby/workflows/<name>/`. Useful when collaborators need the source from cloud (e.g. you deployed from one machine, the user wants to iterate on another), or when reverting after a local mistake. UUIDs come from `zibby agent list`.
86
86
 
87
87
  ## Hard rules
88
88
 
89
89
  - **Never recommend `--force` flags or skipping checks** to make a deploy go faster. Build problems are signal.
90
- - **Never write API keys / secrets into workflow source.** Use the project's secret store (configured in `.zibby.config.mjs` or via the cloud UI).
90
+ - **Never write API keys / secrets into agent source.** Use the project's secret store (configured in `.zibby.config.mjs` or via the cloud UI).
91
91
  - **Don't tell the user to manually edit `bundleS3Key` or other CFN-managed fields in DynamoDB.** These get overwritten on next deploy.
92
92
  - **If a node uses external APIs, mention the egress proxy** (`http://<egress-ip>:3128` is set in `HTTP_PROXY` env at runtime) and the customer-IP-allowlist story.
93
93
 
@@ -1,21 +1,21 @@
1
1
  <!-- zibby-template-version: 4 -->
2
- # /zibby-add-node — scaffold a new node in a Zibby workflow
2
+ # /zibby-add-node — scaffold a new node in a Zibby agent
3
3
 
4
- You are helping the user add a new **node** to one of their Zibby agent workflows.
4
+ You are helping the user add a new **node** to one of their Zibby agents.
5
5
 
6
- ## Context: what is a Zibby workflow?
6
+ ## Context: what is a Zibby agent?
7
7
 
8
- A workflow is a graph of nodes that an AI agent (cursor / claude / codex / gemini) executes in a sandboxed ECS Fargate container.
9
- - Each node is one `.mjs` file under `<workflow>/nodes/`
10
- - The graph wires nodes together (`<workflow>/graph.mjs`)
11
- - `<workflow>/workflow.json` declares the workflow's name, entry class, triggers
12
- - Workflows live under `<workflowsBasePath>/<workflow-name>/` (default `.zibby/workflows/`, configured in the project root's `.zibby.config.mjs`)
8
+ A agent is a graph of nodes that an AI agent (cursor / claude / codex / gemini) executes in a sandboxed ECS Fargate container.
9
+ - Each node is one `.mjs` file under `<agent>/nodes/`
10
+ - The graph wires nodes together (`<agent>/graph.mjs`)
11
+ - `<agent>/workflow.json` declares the agent's name, entry class, triggers
12
+ - Agents live under `<workflowsBasePath>/<workflow-name>/` (default `.zibby/workflows/`, configured in the project root's `.zibby.config.mjs`)
13
13
 
14
14
  For canonical, evolving docs see **https://docs.zibby.app/workflows/nodes**
15
15
 
16
16
  ## Steps for this command
17
17
 
18
- 1. **Identify the target workflow.** Look under the path configured in `.zibby.config.mjs` `paths.workflows` (default `.zibby/workflows/`). If multiple workflows exist, ask the user which one. If they're already `cd`'d inside one, infer from `${cwd}`.
18
+ 1. **Identify the target agent.** Look under the path configured in `.zibby.config.mjs` `paths.workflows` (default `.zibby/workflows/`). If multiple agents exist, ask the user which one. If they're already `cd`'d inside one, infer from `${cwd}`.
19
19
 
20
20
  2. **Get the node spec from the user.** Ask:
21
21
  - Node name (kebab-case, e.g. `analyze-ticket`)
@@ -23,7 +23,7 @@ For canonical, evolving docs see **https://docs.zibby.app/workflows/nodes**
23
23
  - Inputs (variables it reads from prior nodes)
24
24
  - Outputs (variables it produces — these become available to downstream nodes)
25
25
 
26
- 3. **Create the node file** at `<workflow>/nodes/<name>.mjs`. Pattern from the existing `example.mjs`:
26
+ 3. **Create the node file** at `<agent>/nodes/<name>.mjs`. Pattern from the existing `example.mjs`:
27
27
  ```js
28
28
  export default {
29
29
  id: '<name>',
@@ -42,27 +42,27 @@ For canonical, evolving docs see **https://docs.zibby.app/workflows/nodes**
42
42
 
43
43
  5. **Wire into `graph.mjs`** — add the node id to the graph's `nodes` array, then add an `edge` from its predecessor (or from `START` if it's first) and an edge to `END` (or its successor).
44
44
 
45
- 6. **Update `workflow.json`** if the new node introduces an `outputSchema` the workflow's caller relies on. Most nodes don't need this.
45
+ 6. **Update `workflow.json`** if the new node introduces an `outputSchema` the agent's caller relies on. Most nodes don't need this.
46
46
 
47
47
  7. **Test locally:**
48
48
  ```
49
- zibby workflow run <workflow-name>
50
- zibby workflow run <workflow-name> -p ticket=BUG-123 # with input
49
+ zibby agent run <workflow-name>
50
+ zibby agent run <workflow-name> -p ticket=BUG-123 # with input
51
51
  ```
52
- One-shot — exits when the run finishes. Same input flag surface as `zibby workflow trigger` (cloud).
52
+ One-shot — exits when the run finishes. Same input flag surface as `zibby agent trigger` (cloud).
53
53
 
54
54
  8. **Deploy when ready:**
55
55
  ```
56
- zibby workflow deploy <workflow-name>
56
+ zibby agent deploy <workflow-name>
57
57
  ```
58
- Then `zibby workflow trigger <uuid>` and `zibby workflow logs <uuid> -t` to verify.
58
+ Then `zibby agent trigger <uuid>` and `zibby agent logs <uuid> -t` to verify.
59
59
 
60
60
  ## Common pitfalls
61
61
 
62
62
  - **Node name must match the file name and `id`** — mismatches cause silent skip.
63
63
  - **`ctx.agent` calls block on the LLM** — large prompts can take 30+ seconds. Stream output for visibility.
64
- - **Don't import npm packages inside `run()`** — declare deps in `<workflow>/package.json`. The deploy bundler installs them.
65
- - **Failed nodes terminate the workflow** unless wrapped in try/catch and explicit `outputSchema.status: 'warn'`.
64
+ - **Don't import npm packages inside `run()`** — declare deps in `<agent>/package.json`. The deploy bundler installs them.
65
+ - **Failed nodes terminate the agent** unless wrapped in try/catch and explicit `outputSchema.status: 'warn'`.
66
66
 
67
67
  ## When to consult the user vs proceed
68
68
 
@@ -1,7 +1,7 @@
1
1
  <!-- zibby-template-version: 4 -->
2
- # /zibby-debug — diagnose a failing or stuck Zibby workflow
2
+ # /zibby-debug — diagnose a failing or stuck Zibby agent
3
3
 
4
- You are helping the user debug a workflow that didn't behave as expected.
4
+ You are helping the user debug an agent that didn't behave as expected.
5
5
 
6
6
  Canonical docs: **https://docs.zibby.app/workflows/debugging**
7
7
 
@@ -12,28 +12,28 @@ Apply in order. Stop at the first thing that explains the symptom.
12
12
  ### 1. Did the deploy succeed?
13
13
 
14
14
  ```
15
- zibby workflow list
15
+ zibby agent list
16
16
  ```
17
- Find the workflow. If `bundleStatus` isn't `ready`, the deploy didn't finish. Re-run `zibby workflow deploy <name> --verbose` and read the CodeBuild output.
17
+ Find the agent. If `bundleStatus` isn't `ready`, the deploy didn't finish. Re-run `zibby agent deploy <name> --verbose` and read the CodeBuild output.
18
18
 
19
19
  ### 2. Did the trigger reach ECS?
20
20
 
21
21
  ```
22
- zibby workflow trigger <uuid>
22
+ zibby agent trigger <uuid>
23
23
  ```
24
24
  Look at the response — it should include a `Job ID` immediately. If you get an HTTP error, it's an auth or quota problem (CodeBuild concurrency, ECS task limit, etc.). Surface to the user.
25
25
 
26
26
  ### 3. Did the agent task START?
27
27
 
28
28
  ```
29
- zibby workflow logs <uuid> -t
29
+ zibby agent logs <uuid> -t
30
30
  ```
31
31
  Within 30s of the trigger you should see `[setup] Fetching bundle...` then `zibby v<version>`. If silence past 30s:
32
32
  - Maybe ECS couldn't pull the image — check CloudWatch alarm `zibby-sse-fanout-no-task-prod`
33
33
  - Maybe the task started but its log stream is delayed — wait another 30s
34
- - Maybe the workflow row hasn't been written yet (rare — would only affect the very first second)
34
+ - Maybe the agent row hasn't been written yet (rare — would only affect the very first second)
35
35
 
36
- ### 4. Did the workflow execute the wrong path?
36
+ ### 4. Did the agent execute the wrong path?
37
37
 
38
38
  If the tail shows nodes running but in unexpected order, your `graph.mjs` edges are wrong. Common causes:
39
39
  - Edge from `START` is missing — first node never runs
@@ -55,7 +55,7 @@ Look for `[fanout] hard timeout` in the SSE fan-out logs (sse-fanout container)
55
55
 
56
56
  ### 7. Are you seeing logs from a stale execution?
57
57
 
58
- `-t` on a workflow UUID auto-attaches to the **latest** existing execution at connect time, plus new ones triggered while it's open. If you're tailing an old failed run, drain it (Ctrl+C, re-run after triggering fresh).
58
+ `-t` on an agent UUID auto-attaches to the **latest** existing execution at connect time, plus new ones triggered while it's open. If you're tailing an old failed run, drain it (Ctrl+C, re-run after triggering fresh).
59
59
 
60
60
  ## Quick reference: what each piece does
61
61
 
@@ -64,4 +64,4 @@ Look for `[fanout] hard timeout` in the SSE fan-out logs (sse-fanout container)
64
64
  - **SSE fan-out** → polls CloudWatch, fans events out to subscribers (`-t` clients)
65
65
  - **Status** → moves through `starting → running → completed/failed/error`
66
66
 
67
- If `status` in DDB is wrong (e.g. stuck `running` after the task is gone), it's an upstream zombie — separate from any workflow logic issue.
67
+ If `status` in DDB is wrong (e.g. stuck `running` after the task is gone), it's an upstream zombie — separate from any agent logic issue.
@@ -1,9 +1,9 @@
1
1
  <!-- zibby-template-version: 4 -->
2
- # /zibby-delete — delete a deployed Zibby workflow
2
+ # /zibby-delete — delete a deployed Zibby agent
3
3
 
4
- You are helping the user remove a workflow from Zibby Cloud.
4
+ You are helping the user remove an agent from Zibby Cloud.
5
5
 
6
- **This is destructive.** It removes the workflow record, its bundle in S3, and its routing — but does NOT delete in-flight executions or their CloudWatch logs (those age out per their retention policy). New triggers against the deleted UUID will fail.
6
+ **This is destructive.** It removes the agent record, its bundle in S3, and its routing — but does NOT delete in-flight executions or their CloudWatch logs (those age out per their retention policy). New triggers against the deleted UUID will fail.
7
7
 
8
8
  Canonical docs: **https://docs.zibby.app/workflows/lifecycle**
9
9
 
@@ -11,18 +11,18 @@ Canonical docs: **https://docs.zibby.app/workflows/lifecycle**
11
11
 
12
12
  1. **Get the UUID.** If user gave a name, look it up:
13
13
  ```
14
- Bash(zibby workflow list)
14
+ Bash(zibby agent list)
15
15
  ```
16
16
  Find the matching `name` and grab its `uuid`.
17
17
 
18
- 2. **Confirm with the user.** Always confirm before deleting — show them the workflow's name, project, last-triggered timestamp. Don't proceed silently.
18
+ 2. **Confirm with the user.** Always confirm before deleting — show them the agent's name, project, last-triggered timestamp. Don't proceed silently.
19
19
  ```
20
- "Delete workflow 'pr-summarizer' (uuid abc-123, last run 2 days ago)? This cannot be undone."
20
+ "Delete agent 'pr-summarizer' (uuid abc-123, last run 2 days ago)? This cannot be undone."
21
21
  ```
22
22
 
23
23
  3. **Run the delete:**
24
24
  ```
25
- Bash(zibby workflow delete <uuid>)
25
+ Bash(zibby agent delete <uuid>)
26
26
  ```
27
27
 
28
28
  4. **Clean up local files** if the user wants. The local `.zibby/workflows/<name>/` folder isn't auto-deleted — ask before removing:
@@ -1,24 +1,24 @@
1
1
  <!-- zibby-template-version: 4 -->
2
- # /zibby-deploy — deploy a Zibby workflow to the cloud
2
+ # /zibby-deploy — deploy a Zibby agent to the cloud
3
3
 
4
- You are helping the user deploy a workflow they've been building locally.
4
+ You are helping the user deploy an agent they've been building locally.
5
5
 
6
- ## What `zibby workflow deploy` does
6
+ ## What `zibby agent deploy` does
7
7
 
8
- 1. Bundles the workflow's source (graph.mjs + nodes/ + package.json) into a tarball
8
+ 1. Bundles the agent's source (graph.mjs + nodes/ + package.json) into a tarball
9
9
  2. Uploads it to S3 via a presigned URL
10
10
  3. Triggers AWS CodeBuild to install deps + bake the bundle
11
11
  4. Updates DynamoDB so future triggers run the new bundle
12
12
 
13
- A successful deploy is required before `zibby workflow trigger <uuid>` works against the cloud.
13
+ A successful deploy is required before `zibby agent trigger <uuid>` works against the cloud.
14
14
 
15
15
  Canonical docs: **https://docs.zibby.app/workflows/deploying**
16
16
 
17
17
  ## Steps for this command
18
18
 
19
- 1. **Identify the workflow.** If the user passes a name, use it. Otherwise list everything under `paths.workflows` (from `.zibby.config.mjs`) and ask.
19
+ 1. **Identify the agent.** If the user passes a name, use it. Otherwise list everything under `paths.workflows` (from `.zibby.config.mjs`) and ask.
20
20
 
21
- 2. **Pre-flight checks.** Read the workflow folder and confirm:
21
+ 2. **Pre-flight checks.** Read the agent folder and confirm:
22
22
  - `graph.mjs` exists and exports a graph
23
23
  - `nodes/` has at least one node
24
24
  - `workflow.json` is valid (must have `name`, `entryClass`, `triggers`)
@@ -26,62 +26,62 @@ Canonical docs: **https://docs.zibby.app/workflows/deploying**
26
26
 
27
27
  3. **Run the deploy:**
28
28
  ```
29
- zibby workflow deploy <workflow-name>
29
+ zibby agent deploy <workflow-name>
30
30
  ```
31
31
  This is interactive if `--project` isn't passed. The user picks a project, the CLI handles auth via the saved session token.
32
32
 
33
- 4. **Watch the build.** The CLI streams CodeBuild output. If it succeeds, it prints the workflow's UUID. If it fails, the build logs show why — usually a missing dep in `package.json` or a syntax error in a node.
33
+ 4. **Watch the build.** The CLI streams CodeBuild output. If it succeeds, it prints the agent's UUID. If it fails, the build logs show why — usually a missing dep in `package.json` or a syntax error in a node.
34
34
 
35
35
  5. **Verify post-deploy:**
36
36
  ```
37
- zibby workflow trigger <uuid> --input '{}'
38
- zibby workflow logs <uuid> -t
37
+ zibby agent trigger <uuid> --input '{}'
38
+ zibby agent logs <uuid> -t
39
39
  ```
40
- Tail logs until the workflow reaches `completed` (or `failed` — diagnose from logs).
40
+ Tail logs until the agent reaches `completed` (or `failed` — diagnose from logs).
41
41
 
42
42
  ## Common failure modes
43
43
 
44
44
  - **Build fails with module-not-found** → node imports a package not in `package.json`. Add it and redeploy.
45
45
  - **Build succeeds but trigger fails immediately** → `entryClass` in `workflow.json` doesn't match a class exported by `graph.mjs`.
46
- - **Workflow runs but a node fails** → tail the live logs and read the error. Most are in the agent's prompt/output handling.
46
+ - **Agent runs but a node fails** → tail the live logs and read the error. Most are in the agent's prompt/output handling.
47
47
 
48
48
  ## Optional flags worth knowing
49
49
 
50
- `zibby workflow deploy` accepts:
50
+ `zibby agent deploy` accepts:
51
51
  - `--project <id>` — skip the interactive project picker
52
52
  - `--api-key <key>` — use a PAT instead of the session token (for CI)
53
- - `--env <path>` — sync a `.env` file into per-workflow env vars after deploy. Repeatable; later files override.
53
+ - `--env <path>` — sync a `.env` file into per-agent env vars after deploy. Repeatable; later files override.
54
54
  - `--verbose` — print raw CodeBuild output during the build (helpful for debugging build failures)
55
55
 
56
- ### Seeding per-workflow env on first deploy
56
+ ### Seeding per-agent env on first deploy
57
57
 
58
- If the workflow needs its own `ANTHROPIC_API_KEY`, `DATABASE_URL`, etc., put them in a `.env` and pass `--env`:
58
+ If the agent needs its own `ANTHROPIC_API_KEY`, `DATABASE_URL`, etc., put them in a `.env` and pass `--env`:
59
59
 
60
60
  ```
61
- zibby workflow deploy <name> --env .env
62
- zibby workflow deploy <name> --env .env --env .env.prod # later files win
61
+ zibby agent deploy <name> --env .env
62
+ zibby agent deploy <name> --env .env --env .env.prod # later files win
63
63
  ```
64
64
 
65
- After deploy, manage them surgically with `zibby workflow env set/unset/list/push <uuid>`. See `/zibby-list` to recover the UUID; full guide at https://docs.zibby.app/cloud/env-vars.
65
+ After deploy, manage them surgically with `zibby agent env set/unset/list/push <uuid>`. See `/zibby-list` to recover the UUID; full guide at https://docs.zibby.app/cloud/env-vars.
66
66
 
67
67
  ## Static outbound IP (dedicated egress)
68
68
 
69
- If the user's workflow needs to call APIs that require IP allowlisting (corporate GitHub, GitLab Enterprise, paranoid SaaS firewalls), the workflow needs the **dedicated egress IP** addon. The flag lives on the legacy alias `zibby deploy` (NOT `zibby workflow deploy`):
69
+ If the user's agent needs to call APIs that require IP allowlisting (corporate GitHub, GitLab Enterprise, paranoid SaaS firewalls), the agent needs the **dedicated egress IP** addon. The flag lives on the legacy alias `zibby deploy` (NOT `zibby agent deploy`):
70
70
 
71
71
  | Flag | What it does |
72
72
  |------|-------------|
73
73
  | `zibby deploy <name> --dedicated-ip status` | Show current addon state for the account (active / inactive / billing) |
74
74
  | `zibby deploy <name> --dedicated-ip enable` | Enable the addon on the account (Pro subscription required, ~$50/mo). One-time per account. |
75
- | `zibby deploy <name> --dedicated-ip use` | Mark THIS workflow as using the static egress IP (per-workflow opt-in, after `enable`) |
76
- | `zibby deploy <name> --dedicated-ip unuse` | Stop routing this workflow through the static IP |
75
+ | `zibby deploy <name> --dedicated-ip use` | Mark THIS agent as using the static egress IP (per-agent opt-in, after `enable`) |
76
+ | `zibby deploy <name> --dedicated-ip unuse` | Stop routing this agent through the static IP |
77
77
  | `zibby deploy <name> --dedicated-ip disable` | Disable the addon for the whole account |
78
78
 
79
79
  Typical first-time flow when the user says "I need a static outbound IP":
80
80
  1. `zibby deploy <name> --dedicated-ip status` — check whether they have it
81
81
  2. If inactive → `zibby deploy <name> --dedicated-ip enable` — enables the account-wide addon (interactive billing prompt; prerequisite Pro subscription)
82
- 3. `zibby deploy <name> --dedicated-ip use` — opts this specific workflow in
83
- 4. Regular `zibby workflow deploy <name>` from now on uses the static IP
82
+ 3. `zibby deploy <name> --dedicated-ip use` — opts this specific agent in
83
+ 4. Regular `zibby agent deploy <name>` from now on uses the static IP
84
84
 
85
- After `--dedicated-ip use`, every node in this workflow gets its outbound HTTP routed through the egress proxy, and `process.env.HTTP_PROXY` / `HTTPS_PROXY` are set in the sandbox automatically. Their static IPs are visible to customers via `https://docs.zibby.app/workflows/egress`.
85
+ After `--dedicated-ip use`, every node in this agent gets its outbound HTTP routed through the egress proxy, and `process.env.HTTP_PROXY` / `HTTPS_PROXY` are set in the sandbox automatically. Their static IPs are visible to customers via `https://docs.zibby.app/workflows/egress`.
86
86
 
87
87
  **Don't** run `--dedicated-ip enable` without confirming with the user — it has billing impact ($50/mo addon). Always confirm. See `/zibby-static-ip` for the deeper walkthrough.
@@ -1,7 +1,7 @@
1
1
  <!-- zibby-template-version: 4 -->
2
- # /zibby-list — list workflows (local + cloud) with their UUIDs and statuses
2
+ # /zibby-list — list agents (local + cloud) with their UUIDs and statuses
3
3
 
4
- You are helping the user see what workflows exist — locally scaffolded and remotely deployed.
4
+ You are helping the user see what agents exist — locally scaffolded and remotely deployed.
5
5
 
6
6
  Canonical docs: **https://docs.zibby.app/cli-reference#workflow-list**
7
7
 
@@ -9,22 +9,22 @@ Canonical docs: **https://docs.zibby.app/cli-reference#workflow-list**
9
9
 
10
10
  1. **Run the list command:**
11
11
  ```
12
- Bash(zibby workflow list)
12
+ Bash(zibby agent list)
13
13
  ```
14
- This shows both local (in `.zibby/workflows/`) and remote (deployed to Zibby Cloud) workflows. Each row has: name, UUID, project, last triggered.
14
+ This shows both local (in `.zibby/workflows/`) and remote (deployed to Zibby Cloud) agents. Each row has: name, UUID, project, last triggered.
15
15
 
16
16
  2. **Filter on demand.** If the user wants only local or only remote:
17
17
  ```
18
- zibby workflow list --local-only
19
- zibby workflow list --remote-only --project <id>
18
+ zibby agent list --local-only
19
+ zibby agent list --remote-only --project <id>
20
20
  ```
21
21
 
22
22
  ## When you'd use this
23
23
 
24
- - User asks "what workflows do I have?" → run it, show the result.
24
+ - User asks "what agents do I have?" → run it, show the result.
25
25
  - You need a UUID to pass into `/zibby-trigger`, `/zibby-tail`, `/zibby-delete` and the user only knows the name → run it, look up the UUID.
26
26
  - After a deploy to confirm the bundle landed.
27
27
 
28
28
  ## Output expectations
29
29
 
30
- The output is human-readable text (not JSON). If you need to extract a specific UUID programmatically, parse the line for the workflow name. If the user has many workflows, ask which one they want — don't grep blind.
30
+ The output is human-readable text (not JSON). If you need to extract a specific UUID programmatically, parse the line for the agent name. If the user has many agents, ask which one they want — don't grep blind.
@@ -1,19 +1,19 @@
1
1
  <!-- zibby-template-version: 4 -->
2
- # /zibby-static-ip — set up dedicated outbound static IP for a workflow
2
+ # /zibby-static-ip — set up dedicated outbound static IP for an agent
3
3
 
4
- You are helping the user route a workflow's outbound traffic through a static IP address — needed when the workflow calls APIs that require IP allowlisting (corporate GitLab/GitHub Enterprise, internal SaaS, firewalls).
4
+ You are helping the user route an agent's outbound traffic through a static IP address — needed when the agent calls APIs that require IP allowlisting (corporate GitLab/GitHub Enterprise, internal SaaS, firewalls).
5
5
 
6
6
  Canonical docs: **https://docs.zibby.app/workflows/egress**
7
7
 
8
- > Note: the `--dedicated-ip` flag lives on the legacy alias `zibby deploy <name>`, NOT on `zibby workflow deploy <name>`. The two share a handler, but only `zibby deploy` exposes this flag in `--help`.
8
+ > Note: the `--dedicated-ip` flag lives on the legacy alias `zibby deploy <name>`, NOT on `zibby agent deploy <name>`. The two share a handler, but only `zibby deploy` exposes this flag in `--help`.
9
9
 
10
10
  ## What "static IP" means here
11
11
 
12
- By default, workflow tasks run on Fargate and their outbound traffic exits via AWS-managed IPs that rotate. With the **dedicated egress** addon enabled, the workflow's outbound traffic is routed through a Zibby-managed proxy whose IP is pinned and customer-allowlistable.
12
+ By default, agent tasks run on Fargate and their outbound traffic exits via AWS-managed IPs that rotate. With the **dedicated egress** addon enabled, the agent's outbound traffic is routed through a Zibby-managed proxy whose IP is pinned and customer-allowlistable.
13
13
 
14
14
  Two pieces:
15
15
  1. **Account-level addon** — `~$50/mo`, requires Pro subscription. One-time toggle per account.
16
- 2. **Per-workflow opt-in** — once the addon is on, each workflow opts in individually (some workflows might not need it, no point routing them).
16
+ 2. **Per-agent opt-in** — once the addon is on, each agent opts in individually (some agents might not need it, no point routing them).
17
17
 
18
18
  ## Steps
19
19
 
@@ -27,23 +27,23 @@ Two pieces:
27
27
  ```
28
28
  Bash(zibby deploy <name> --dedicated-ip status)
29
29
  ```
30
- Output tells you: addon active or inactive, this workflow currently using it or not, and the assigned IPs to publish to customers.
30
+ Output tells you: addon active or inactive, this agent currently using it or not, and the assigned IPs to publish to customers.
31
31
 
32
32
  3. **If addon is inactive — enable it** (only after explicit user confirmation):
33
33
  ```
34
34
  Bash(zibby deploy <name> --dedicated-ip enable)
35
35
  ```
36
- This is one-time per account. After this, the addon is active for ALL workflows in the account that opt in.
36
+ This is one-time per account. After this, the addon is active for ALL agents in the account that opt in.
37
37
 
38
- 4. **Opt this workflow in:**
38
+ 4. **Opt this agent in:**
39
39
  ```
40
40
  Bash(zibby deploy <name> --dedicated-ip use)
41
41
  ```
42
- From now on, every deploy of this workflow + every triggered execution routes outbound through the static IP.
42
+ From now on, every deploy of this agent + every triggered execution routes outbound through the static IP.
43
43
 
44
- 5. **Re-deploy the workflow** so the runtime picks up the change:
44
+ 5. **Re-deploy the agent** so the runtime picks up the change:
45
45
  ```
46
- Bash(zibby workflow deploy <name>)
46
+ Bash(zibby agent deploy <name>)
47
47
  ```
48
48
 
49
49
  6. **Verify in a node** by adding a quick log:
@@ -54,7 +54,7 @@ Two pieces:
54
54
 
55
55
  ## Reverting
56
56
 
57
- - `Bash(zibby deploy <name> --dedicated-ip unuse)` — stop routing this workflow's egress through the static IP. Other opted-in workflows are unaffected.
57
+ - `Bash(zibby deploy <name> --dedicated-ip unuse)` — stop routing this agent's egress through the static IP. Other opted-in agents are unaffected.
58
58
  - `Bash(zibby deploy <name> --dedicated-ip disable)` — disable the addon entirely (also stops billing).
59
59
 
60
60
  ## Tell the user the IPs
@@ -67,4 +67,4 @@ Outbound static IPs (allowlist these in the customer's firewall):
67
67
 
68
68
  ## Don't confuse with the inbound static IPs
69
69
 
70
- This is OUTBOUND (workflow → external API). There's also an INBOUND static-IP set for `https://logs-stream.zibby.app` (the SSE log endpoint customers tail with `zibby workflow logs -t`). That one is unrelated to this addon — see `https://docs.zibby.app/security/ip-allowlist`.
70
+ This is OUTBOUND (agent → external API). There's also an INBOUND static-IP set for `https://logs-stream.zibby.app` (the SSE log endpoint customers tail with `zibby agent logs -t`). That one is unrelated to this addon — see `https://docs.zibby.app/security/ip-allowlist`.
@@ -1,53 +1,53 @@
1
1
  <!-- zibby-template-version: 4 -->
2
- # /zibby-tail — stream live logs from a Zibby workflow
2
+ # /zibby-tail — stream live logs from a Zibby agent
3
3
 
4
- You are helping the user tail logs from a workflow execution.
4
+ You are helping the user tail logs from an agent execution.
5
5
 
6
- `zibby workflow logs <jobId> -t` is the live-streaming variant (like `heroku logs --tail` or `docker compose logs -f`). Without `-t`, you get a one-shot fetch.
6
+ `zibby agent logs <jobId> -t` is the live-streaming variant (like `heroku logs --tail` or `docker compose logs -f`). Without `-t`, you get a one-shot fetch.
7
7
 
8
8
  Canonical docs: **https://docs.zibby.app/workflows/logs**
9
9
 
10
10
  ## What `<jobId>` accepts
11
11
 
12
- - A **workflow UUID** (`2b1ea07f-...`) → tails ALL currently-active executions of that workflow, plus any new ones triggered while the tail is open. Lines are interleaved by arrival time, prefixed with `(taskId)` so concurrent runs are distinguishable.
12
+ - A **agent UUID** (`2b1ea07f-...`) → tails ALL currently-active executions of that agent, plus any new ones triggered while the tail is open. Lines are interleaved by arrival time, prefixed with `(taskId)` so concurrent runs are distinguishable.
13
13
  - An **execution ID** (`abc-...`) → tails just that single execution. Closes when the execution drains.
14
14
 
15
15
  ## Example flow
16
16
 
17
17
  ```
18
- $ zibby workflow trigger 2b1ea07f-3ede-4bfd-a51d-431f0bab008e
18
+ $ zibby agent trigger 2b1ea07f-3ede-4bfd-a51d-431f0bab008e
19
19
  Job ID: 569ef1ee-15c8-4ee7-af30-933c8bec7ea7
20
20
 
21
- $ zibby workflow logs 2b1ea07f-3ede-4bfd-a51d-431f0bab008e -t
22
- Streaming logs for workflow 2b1ea07f-...
21
+ $ zibby agent logs 2b1ea07f-3ede-4bfd-a51d-431f0bab008e -t
22
+ Streaming logs for agent 2b1ea07f-...
23
23
  Press Ctrl+C to stop.
24
24
 
25
25
  ┌─ Execution: 569ef1ee...7ea7 (task: 9e61c690)
26
26
  └─ Streaming logs...
27
27
 
28
28
  2026-05-04 06:16:27.621 (9e61c690) zibby v0.1.91
29
- 2026-05-04 06:16:27.997 (9e61c690) Workflow: hello-world
29
+ 2026-05-04 06:16:27.997 (9e61c690) Agent: hello-world
30
30
  2026-05-04 06:16:33.055 (9e61c690) │ Prompt sent to LLM:
31
31
  ...
32
- 2026-05-04 06:16:56.389 (9e61c690) ✓ Workflow completed
32
+ 2026-05-04 06:16:56.389 (9e61c690) ✓ Agent completed
33
33
  ```
34
34
 
35
35
  ## Tail behavior worth knowing
36
36
 
37
37
  - **Auto-switch:** when the current execution drains and a new trigger lands, the tail seamlessly picks it up — no need to re-run the command.
38
- - **Multi-attach:** if you trigger two workflows in parallel, the tail attaches to both. Lines from each are interleaved by timestamp.
38
+ - **Multi-attach:** if you trigger two agents in parallel, the tail attaches to both. Lines from each are interleaved by timestamp.
39
39
  - **Reconnect:** transient network blips reconnect silently. Long quiet windows (3+ min) are kept alive via 5s keepalives.
40
40
 
41
41
  ## Steps for this command
42
42
 
43
- 1. Identify the jobId. If user gives a workflow name (not UUID), look it up via `zibby workflow list` and use the UUID.
43
+ 1. Identify the jobId. If user gives an agent name (not UUID), look it up via `zibby agent list` and use the UUID.
44
44
  2. **Run in the background** — `-t` is a long-running stream. If you call `Bash` without `run_in_background: true` it'll block the chat for minutes:
45
45
  ```
46
- Bash({ command: "zibby workflow logs <jobId> -t", run_in_background: true })
46
+ Bash({ command: "zibby agent logs <jobId> -t", run_in_background: true })
47
47
  ```
48
48
  Then use `BashOutput` (or whatever your background-output tool is) to read new lines as they arrive.
49
49
  3. If the user wants a **one-shot snapshot** (no follow), drop the `-t` flag and call Bash normally:
50
50
  ```
51
- Bash({ command: "zibby workflow logs <jobId>" })
51
+ Bash({ command: "zibby agent logs <jobId>" })
52
52
  ```
53
53
  4. To stop the live tail: kill the background bash task. The CLI exits cleanly with `Stopped streaming.`