@zibby/skills 0.1.33 → 0.1.35

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 (87) hide show
  1. package/README.md +2 -0
  2. package/dist/browser.d.ts +19 -0
  3. package/dist/chat-memory.d.ts +355 -0
  4. package/dist/chat-notify.d.ts +409 -0
  5. package/dist/core-tools.d.ts +131 -0
  6. package/dist/function-skill.d.ts +149 -0
  7. package/dist/git.d.ts +72 -0
  8. package/dist/github.d.ts +777 -0
  9. package/dist/github.js +4 -3
  10. package/dist/gitlab.d.ts +396 -0
  11. package/dist/gitlab.js +19 -0
  12. package/dist/index.d.ts +45 -0
  13. package/dist/index.js +145 -126
  14. package/dist/integrations.d.ts +110 -0
  15. package/dist/jira.d.ts +547 -0
  16. package/dist/lark.d.ts +161 -0
  17. package/dist/linear.d.ts +344 -0
  18. package/dist/llm-billing.d.ts +294 -0
  19. package/dist/memory.d.ts +137 -0
  20. package/dist/package.json +67 -17
  21. package/dist/plane.d.ts +24 -0
  22. package/dist/report.d.ts +354 -0
  23. package/dist/report.js +9 -9
  24. package/dist/sentry.d.ts +43 -0
  25. package/dist/skill-installer.d.ts +86 -0
  26. package/dist/slack.d.ts +284 -0
  27. package/dist/test-runner.d.ts +220 -0
  28. package/dist/trackers/github-adapter.d.ts +96 -0
  29. package/dist/trackers/github-adapter.js +4 -3
  30. package/dist/trackers/index.d.ts +27 -0
  31. package/dist/trackers/index.js +16 -15
  32. package/dist/trackers/jira-adapter.d.ts +90 -0
  33. package/dist/trackers/linear-adapter.d.ts +89 -0
  34. package/dist/trackers/plane-adapter.d.ts +101 -0
  35. package/dist/trackers/types.d.ts +335 -0
  36. package/dist/workflow-builder.d.ts +245 -0
  37. package/docs/apps/agent-ops.md +6 -6
  38. package/docs/apps/deploy.md +1 -1
  39. package/docs/apps/index.md +1 -1
  40. package/docs/apps/managing.md +1 -1
  41. package/docs/cli-reference.md +65 -65
  42. package/docs/cloning-repositories.md +9 -9
  43. package/docs/cloud/bundles.md +8 -8
  44. package/docs/cloud/dedicated-egress.md +6 -6
  45. package/docs/cloud/env-vars.md +29 -29
  46. package/docs/cloud/limits.md +11 -11
  47. package/docs/cloud/triggering.md +16 -16
  48. package/docs/concepts/agents.md +4 -4
  49. package/docs/concepts/sessions.md +7 -7
  50. package/docs/concepts/state.md +1 -1
  51. package/docs/concepts/sub-graphs.md +9 -9
  52. package/docs/get-started/deploy.md +14 -14
  53. package/docs/get-started/install.md +4 -4
  54. package/docs/get-started/run-locally.md +12 -12
  55. package/docs/get-started/trigger-and-logs.md +14 -14
  56. package/docs/get-started/use-from-agents.md +17 -17
  57. package/docs/get-started/your-first-workflow.md +8 -8
  58. package/docs/integrations/gitlab.md +1 -1
  59. package/docs/integrations/lark.md +2 -2
  60. package/docs/integrations/linear.md +1 -1
  61. package/docs/integrations/notion.md +2 -2
  62. package/docs/integrations/plane.md +1 -1
  63. package/docs/integrations/slack.md +1 -1
  64. package/docs/intro.md +4 -4
  65. package/docs/legacy/test-automation.md +2 -2
  66. package/docs/packages/cli.md +11 -11
  67. package/docs/packages/core.md +2 -2
  68. package/docs/packages/mcp-cli.md +18 -18
  69. package/docs/packages/skills.md +2 -2
  70. package/docs/packages/ui-memory.md +1 -1
  71. package/docs/recipes/bug-autofix.md +1 -1
  72. package/docs/recipes/index.md +3 -3
  73. package/docs/recipes/pipeline-supervisor.md +4 -4
  74. package/docs/recipes/sentry-triage.md +7 -7
  75. package/docs/recipes/test.md +6 -6
  76. package/docs/skills/browser.md +2 -2
  77. package/docs/skills/chat-memory.md +1 -1
  78. package/docs/skills/core-tools.md +1 -1
  79. package/docs/skills/function-skill.md +1 -1
  80. package/docs/skills/github.md +2 -2
  81. package/docs/skills/index.md +1 -1
  82. package/docs/skills/jira.md +1 -1
  83. package/docs/skills/lark.md +1 -1
  84. package/docs/skills/memory.md +2 -2
  85. package/docs/skills/sentry.md +1 -1
  86. package/docs/skills/slack.md +2 -2
  87. package/package.json +67 -17
@@ -0,0 +1,245 @@
1
+ export namespace workflowBuilderSkill {
2
+ export let id: string;
3
+ export let description: string;
4
+ export let envKeys: any[];
5
+ export { PROMPT_FRAGMENT as promptFragment };
6
+ export let tools: ({
7
+ name: string;
8
+ description: string;
9
+ input_schema: {
10
+ type: string;
11
+ properties: {
12
+ name: {
13
+ type: string;
14
+ description: string;
15
+ };
16
+ description: {
17
+ type: string;
18
+ description: string;
19
+ };
20
+ nodes: {
21
+ type: string;
22
+ items: {
23
+ type: string;
24
+ properties: {
25
+ name: {
26
+ type: string;
27
+ description: string;
28
+ };
29
+ description: {
30
+ type: string;
31
+ description: string;
32
+ };
33
+ inputFields: {
34
+ type: string;
35
+ items: {
36
+ type: string;
37
+ };
38
+ description: string;
39
+ };
40
+ outputFields: {
41
+ type: string;
42
+ items: {
43
+ type: string;
44
+ };
45
+ description: string;
46
+ };
47
+ };
48
+ required: string[];
49
+ };
50
+ description: string;
51
+ };
52
+ edges: {
53
+ type: string;
54
+ items: {
55
+ type: string;
56
+ properties: {
57
+ from: {
58
+ type: string;
59
+ description: string;
60
+ };
61
+ to: {
62
+ type: string;
63
+ description: string;
64
+ };
65
+ condition: {
66
+ type: string;
67
+ description: string;
68
+ };
69
+ };
70
+ required: string[];
71
+ };
72
+ description: string;
73
+ };
74
+ spec?: undefined;
75
+ workflowName?: undefined;
76
+ nodeName?: undefined;
77
+ inputFields?: undefined;
78
+ outputFields?: undefined;
79
+ projectId?: undefined;
80
+ topic?: undefined;
81
+ };
82
+ required: string[];
83
+ };
84
+ } | {
85
+ name: string;
86
+ description: string;
87
+ input_schema: {
88
+ type: string;
89
+ properties: {
90
+ name: {
91
+ type: string;
92
+ description: string;
93
+ };
94
+ spec: {
95
+ type: string;
96
+ description: string;
97
+ properties: {
98
+ name: {
99
+ type: string;
100
+ };
101
+ description: {
102
+ type: string;
103
+ };
104
+ nodes: {
105
+ type: string;
106
+ items: {
107
+ type: string;
108
+ };
109
+ };
110
+ edges: {
111
+ type: string;
112
+ items: {
113
+ type: string;
114
+ };
115
+ };
116
+ };
117
+ };
118
+ description?: undefined;
119
+ nodes?: undefined;
120
+ edges?: undefined;
121
+ workflowName?: undefined;
122
+ nodeName?: undefined;
123
+ inputFields?: undefined;
124
+ outputFields?: undefined;
125
+ projectId?: undefined;
126
+ topic?: undefined;
127
+ };
128
+ required: string[];
129
+ };
130
+ } | {
131
+ name: string;
132
+ description: string;
133
+ input_schema: {
134
+ type: string;
135
+ properties: {
136
+ workflowName: {
137
+ type: string;
138
+ description: string;
139
+ };
140
+ nodeName: {
141
+ type: string;
142
+ description: string;
143
+ };
144
+ description: {
145
+ type: string;
146
+ description: string;
147
+ };
148
+ inputFields: {
149
+ type: string;
150
+ items: {
151
+ type: string;
152
+ };
153
+ description: string;
154
+ };
155
+ outputFields: {
156
+ type: string;
157
+ items: {
158
+ type: string;
159
+ };
160
+ description: string;
161
+ };
162
+ name?: undefined;
163
+ nodes?: undefined;
164
+ edges?: undefined;
165
+ spec?: undefined;
166
+ projectId?: undefined;
167
+ topic?: undefined;
168
+ };
169
+ required: string[];
170
+ };
171
+ } | {
172
+ name: string;
173
+ description: string;
174
+ input_schema: {
175
+ type: string;
176
+ properties: {
177
+ name: {
178
+ type: string;
179
+ description: string;
180
+ };
181
+ projectId: {
182
+ type: string;
183
+ description: string;
184
+ };
185
+ description?: undefined;
186
+ nodes?: undefined;
187
+ edges?: undefined;
188
+ spec?: undefined;
189
+ workflowName?: undefined;
190
+ nodeName?: undefined;
191
+ inputFields?: undefined;
192
+ outputFields?: undefined;
193
+ topic?: undefined;
194
+ };
195
+ required: string[];
196
+ };
197
+ } | {
198
+ name: string;
199
+ description: string;
200
+ input_schema: {
201
+ type: string;
202
+ properties: {
203
+ name?: undefined;
204
+ description?: undefined;
205
+ nodes?: undefined;
206
+ edges?: undefined;
207
+ spec?: undefined;
208
+ workflowName?: undefined;
209
+ nodeName?: undefined;
210
+ inputFields?: undefined;
211
+ outputFields?: undefined;
212
+ projectId?: undefined;
213
+ topic?: undefined;
214
+ };
215
+ required?: undefined;
216
+ };
217
+ } | {
218
+ name: string;
219
+ description: string;
220
+ input_schema: {
221
+ type: string;
222
+ properties: {
223
+ topic: {
224
+ type: string;
225
+ description: string;
226
+ };
227
+ name?: undefined;
228
+ description?: undefined;
229
+ nodes?: undefined;
230
+ edges?: undefined;
231
+ spec?: undefined;
232
+ workflowName?: undefined;
233
+ nodeName?: undefined;
234
+ inputFields?: undefined;
235
+ outputFields?: undefined;
236
+ projectId?: undefined;
237
+ };
238
+ required?: undefined;
239
+ };
240
+ })[];
241
+ export function handleToolCall(name: any, args: any, context: any): Promise<string>;
242
+ export function resolve(): any;
243
+ }
244
+ declare const PROMPT_FRAGMENT: "## Workflow Builder\n\nYou can help users build custom AI workflows using the Zibby workflow framework.\n\n### What makes Zibby workflows different\nEach node invokes a **real AI agent** (Cursor, Claude, Codex, or Gemini) \u2014 not a thin LLM API wrapper.\nThat means every node has full agent capabilities: tool use, MCP servers (browser, GitHub, Jira, Slack),\nmulti-turn reasoning, and structured output validation via Zod schemas.\n\nKey differentiators:\n- **Agent-powered nodes** \u2014 each step runs a full AI agent (cursor-agent, claude, codex, gemini CLI) with tool access and MCP skills, not a simple chat completion call.\n- **Structured output** \u2014 every node declares a Zod schema; the framework validates and parses the agent's response automatically.\n- **Conditional routing** \u2014 edges can branch on agent-produced fields (e.g., `state.triage.priority === 'critical'`), enabling intelligent decision graphs.\n- **MCP skill injection** \u2014 nodes declare `skills: [SKILLS.BROWSER, SKILLS.GITHUB]` and the framework spins up the right MCP servers automatically.\n- **Deploy anywhere** \u2014 `zibby deploy` pushes to Zibby Cloud with an API trigger; or self-host with `zibby start`.\n- **State accumulation** \u2014 each node's validated output is stored under its name in `state` (e.g., `state.classify_ticket`), so downstream nodes can reference upstream results.\n\n### What is a workflow?\nA directed graph of nodes (AI agent steps) connected by edges. Each node has:\n- `name` \u2014 unique identifier (snake_case)\n- `prompt` \u2014 function that receives state and returns the prompt string sent to the agent\n- `outputSchema` \u2014 Zod schema defining the structured output the agent must return\n- `skills` (optional) \u2014 array of MCP skill IDs the node needs (e.g., `SKILLS.BROWSER`, `SKILLS.GITHUB`)\n- `timeout` (optional) \u2014 max execution time in ms (default: 300000)\n- `model` (optional) \u2014 override the model for this node (e.g., `'claude-opus-4'`)\n\n### File structure\n```\n.zibby/workflows/<name>/\n\u251C\u2500\u2500 graph.mjs \u2014 WorkflowAgent subclass with buildGraph()\n\u251C\u2500\u2500 nodes/\n\u2502 \u251C\u2500\u2500 index.mjs \u2014 barrel export for all nodes\n\u2502 \u2514\u2500\u2500 <node>.mjs \u2014 one file per node\n\u2514\u2500\u2500 workflow.json \u2014 manifest (name, description, triggers)\n```\n\n### Node pattern\n```javascript\nimport { z, SKILLS } from '@zibby/core';\n\nconst OutputSchema = z.object({\n summary: z.string().describe('Brief summary'),\n items: z.array(z.string()).describe('List of extracted items'),\n needsReview: z.boolean().describe('Whether a human should review this'),\n});\n\nexport const myNode = {\n name: 'my_node',\n skills: [SKILLS.GITHUB], // optional \u2014 framework injects MCP servers\n timeout: 120000, // optional \u2014 2 min timeout\n prompt: (state) => \\`You are analyzing a pull request.\n\nInput:\n\\${JSON.stringify(state.input || {}, null, 2)}\n\nReturn a JSON object matching the schema.\\`,\n outputSchema: OutputSchema,\n};\n```\n\n### Graph pattern\n```javascript\nimport { WorkflowAgent, WorkflowGraph } from '@zibby/core';\nimport { classifyNode, routeNode } from './nodes/index.mjs';\n\nexport class MyWorkflow extends WorkflowAgent {\n buildGraph() {\n const graph = new WorkflowGraph();\n graph.addNode('classify', classifyNode);\n graph.addNode('route', routeNode);\n graph.setEntryPoint('classify');\n graph.addEdge('classify', 'route');\n graph.addEdge('route', 'END');\n return graph;\n }\n\n async onComplete(result) {\n // Post-execution hook \u2014 save artifacts, notify, etc.\n console.log('Workflow complete:', result.success);\n }\n}\n```\n\nConditional edges: `graph.addConditionalEdges('node', (state) => state.node.priority === 'high' ? 'escalate' : 'notify')`\n\n### Available SKILLS constants\nImport from `@zibby/core`: `SKILLS.BROWSER`, `SKILLS.MEMORY`, `SKILLS.GITHUB`, `SKILLS.JIRA`, `SKILLS.SLACK`, `SKILLS.RUNNER`\n\n### Deep documentation\nCall `explore_framework_docs` to read detailed framework docs on demand. Use it for:\n- Advanced patterns (middleware, parallel nodes, state schemas)\n- Deployment & cloud triggers\n- CLI commands reference\n- Integration details (Jira, GitHub, etc.)\nCall with no arguments to see all available topics.\n\n### How to use the builder tools\n1. For complex workflows, call `explore_framework_docs(\"custom-workflows\")` first to learn advanced patterns.\n2. Ask the user what their workflow should do, what input it receives, and what steps are needed.\n3. Call `design_workflow` with the structured spec for the user to review.\n4. Once approved, call `build_workflow` to generate real code on disk (uses the configured agent for high-quality code generation).\n5. Remind the user: `zibby start <name>` to test locally, `zibby deploy <name> --project <id>` to deploy to cloud, `zibby logs --workflow <name>` to tail logs.\n\n### Important\n- Each node prompt should be detailed and specific \u2014 tell the AI agent exactly what to do and what format to return.\n- Zod schemas MUST use .describe() on every field so the agent knows what each field means.\n- Node names must be snake_case (e.g., classify_ticket, generate_report).\n- Workflow names must be kebab-case (e.g., ticket-triage, pr-review).\n- State flows through: each node's validated output is stored under its name in state (e.g., state.classify_ticket).\n- Downstream nodes reference upstream outputs in their prompt function (e.g., \\`\\${JSON.stringify(state.classify_ticket, null, 2)}\\`).\n- Nodes can declare skills to get MCP tool access \u2014 the framework handles server lifecycle automatically.";
245
+ export {};
@@ -19,7 +19,7 @@ This is the structural difference between "deploy button on a VM" and **Zibby**.
19
19
  | **Upgrade orchestration** | on schedule | When a new app version lands in the catalog, agent-ops can run the in-place upgrade on a cron you set. |
20
20
  | **Activity log** | every action | One row in the app's "Agent activity" tab, with structured fields you can grep / chart. |
21
21
 
22
- Every action lands in DynamoDB as an `app-runs` record — queryable by anything from a workflow node to a Grafana dashboard.
22
+ Every action lands in DynamoDB as an `app-runs` record — queryable by anything from an agent node to a Grafana dashboard.
23
23
 
24
24
  ## See it in action
25
25
 
@@ -85,20 +85,20 @@ Per-instance agent-ops behavior is tunable via env vars (set on the app instance
85
85
  | `AGENT_OPS_AUTO_UPGRADE` | `false` | If `true`, upgrade automatically when catalog publishes a new version |
86
86
  | `AGENT_OPS_NOTIFY_WEBHOOK` | — | URL to POST run records to (any HTTPS endpoint — your own backend, n8n, etc.) |
87
87
 
88
- `AGENT_OPS_NOTIFY_WEBHOOK` is how you wire agent-ops into your existing observability stack — fire every run record into your team's #ops Slack via a workflow trigger, into Datadog via their webhook receiver, or into your own database.
88
+ `AGENT_OPS_NOTIFY_WEBHOOK` is how you wire agent-ops into your existing observability stack — fire every run record into your team's #ops Slack via an agent trigger, into Datadog via their webhook receiver, or into your own database.
89
89
 
90
- ## Hooking agent-ops into a workflow
90
+ ## Hooking agent-ops into an agent
91
91
 
92
- The most powerful pattern: a Zibby workflow that runs **on agent-ops events**.
92
+ The most powerful pattern: a Zibby agent that runs **on agent-ops events**.
93
93
 
94
- Example: when an `oom_recovery` fires, run a workflow that pulls the container's last-100-lines, classifies the crash, and pages whoever owns this app:
94
+ Example: when an `oom_recovery` fires, run an agent that pulls the container's last-100-lines, classifies the crash, and pages whoever owns this app:
95
95
 
96
96
  ```bash
97
97
  zibby app env set a1b2c3d4 \
98
98
  AGENT_OPS_NOTIFY_WEBHOOK=https://api-prod.zibby.app/v1/workflows/<wf-uuid>/trigger
99
99
  ```
100
100
 
101
- The workflow receives the run record as `input`, can call back to `zibby app logs` / `zibby app status`, and decides what to do. Agent-ops + workflows compose into a self-operating fleet — humans only get pinged for genuinely novel failure modes.
101
+ The agent receives the run record as `input`, can call back to `zibby app logs` / `zibby app status`, and decides what to do. Agent-ops + agents compose into a self-operating fleet — humans only get pinged for genuinely novel failure modes.
102
102
 
103
103
  ## Upgrade orchestration
104
104
 
@@ -16,7 +16,7 @@ npm install -g @zibby/cli
16
16
  zibby login # OAuth in browser, saves session to ~/.zibby/config.json
17
17
  ```
18
18
 
19
- You also need a project. If you don't have one yet, deploy a workflow first or create one in the [Zibby dashboard](https://studio.zibby.dev) — apps are scoped to projects so per-instance EFS volumes can be isolated per team.
19
+ You also need a project. If you don't have one yet, deploy an agent first or create one in the [Zibby dashboard](https://studio.zibby.dev) — apps are scoped to projects so per-instance EFS volumes can be isolated per team.
20
20
 
21
21
  ## Browse the catalog
22
22
 
@@ -42,7 +42,7 @@ Both are pillars of Zibby Cloud. Pick by **how long the thing needs to run**:
42
42
  | Persistence | Session JSONL + S3 artifacts | Encrypted-at-rest EFS volume |
43
43
  | Best for | "When ticket lands, classify it" | "Host Grafana for the team" |
44
44
 
45
- If you find yourself wanting to **run an open-source web app behind a stable URL**, that's an App. If you want **agent-driven business logic that fires on events**, that's an [Agent](../recipes/) (a workflow graph under the hood).
45
+ If you find yourself wanting to **run an open-source web app behind a stable URL**, that's an App. If you want **agent-driven business logic that fires on events**, that's an [Agent](../recipes/).
46
46
 
47
47
  ## What you get with every app
48
48
 
@@ -79,7 +79,7 @@ This picks up whatever's currently in your workspace credentials (set via [Setti
79
79
 
80
80
  ## ENV vars
81
81
 
82
- Every app instance has a per-instance encrypted env-var bag, same shape as workflow env. Use it for per-instance config (e.g. `N8N_ENCRYPTION_KEY`, `DATABASE_URL` pointing at an external RDS).
82
+ Every app instance has a per-instance encrypted env-var bag, same shape as agent env. Use it for per-instance config (e.g. `N8N_ENCRYPTION_KEY`, `DATABASE_URL` pointing at an external RDS).
83
83
 
84
84
  Set via the dashboard (Apps → instance → ENV tab) or via CLI:
85
85
 
@@ -5,22 +5,22 @@ title: CLI Reference
5
5
 
6
6
  # CLI Reference
7
7
 
8
- Every command lives under `zibby workflow <verb>` for consistency. The bare top-level forms (`zibby start`, `zibby deploy`, `zibby trigger`, `zibby logs`, `zibby g workflow`) are kept as backward-compat aliases — they call the same handlers — but new code should use the namespaced forms.
8
+ Every command lives under `zibby agent <verb>` for consistency. The bare top-level forms (`zibby start`, `zibby deploy`, `zibby trigger`, `zibby logs`) are kept as backward-compat aliases — they call the same handlers — but new code should use the namespaced forms.
9
9
 
10
- ## Workflow commands
10
+ ## Agent commands
11
11
 
12
12
  | Command | What it does |
13
13
  |---|---|
14
- | [`zibby workflow new <name>`](#workflow-new) | Scaffold a new custom workflow under `.zibby/workflows/<name>/`. |
15
- | [`zibby workflow run <name>`](#workflow-run) | One-shot local execution. Same input flags as `trigger`. |
16
- | [`zibby workflow list`](#workflow-list) | List local + deployed workflows. |
17
- | [`zibby workflow deploy [name]`](#workflow-deploy) | Deploy to Zibby Cloud. Interactive picker if name omitted. |
18
- | [`zibby workflow trigger [uuid]`](#workflow-trigger) | Run a deployed workflow remotely. UUID is canonical. |
19
- | [`zibby workflow logs [uuid] -t`](#workflow-logs) | Tail logs from a run, Heroku-style. |
20
- | [`zibby workflow download <uuid>`](#workflow-download) | Pull a deployed workflow back to local. Edit + redeploy. |
21
- | [`zibby workflow delete <uuid>`](#workflow-delete) | Delete a deployed workflow. |
22
- | [`zibby workflow start <name>`](#workflow-start) | Long-lived dev server (Studio integration). Most users want `run`. |
23
- | [`zibby workflow env <verb>`](#workflow-env) | Manage per-workflow encrypted env vars: `list`, `set`, `unset`, `push`. |
14
+ | [`zibby agent new <name>`](#agent-new) | Scaffold a new custom agent under `.zibby/workflows/<name>/`. |
15
+ | [`zibby agent run <name>`](#agent-run) | One-shot local execution. Same input flags as `trigger`. |
16
+ | [`zibby agent list`](#agent-list) | List local + deployed agents. |
17
+ | [`zibby agent deploy [name]`](#agent-deploy) | Deploy to Zibby Cloud. Interactive picker if name omitted. |
18
+ | [`zibby agent trigger [uuid]`](#agent-trigger) | Run a deployed agent remotely. UUID is canonical. |
19
+ | [`zibby agent logs [uuid] -t`](#agent-logs) | Tail logs from a run, Heroku-style. |
20
+ | [`zibby agent download <uuid>`](#agent-download) | Pull a deployed agent back to local. Edit + redeploy. |
21
+ | [`zibby agent delete <uuid>`](#agent-delete) | Delete a deployed agent. |
22
+ | [`zibby agent start <name>`](#agent-start) | Long-lived dev server (Studio integration). Most users want `run`. |
23
+ | [`zibby agent env <verb>`](#agent-env) | Manage per-agent encrypted env vars: `list`, `set`, `unset`, `push`. |
24
24
 
25
25
  Plus the test recipe + memory + project setup:
26
26
 
@@ -28,8 +28,8 @@ Plus the test recipe + memory + project setup:
28
28
  |---|---|
29
29
  | [`zibby test [spec]`](#test) | Run a test spec (or inline string). Drives the browser via Cursor / Claude / Codex / Gemini. |
30
30
  | [`zibby memory <verb>`](#memory) | Local + remote test-memory DB: `init`, `stats`, `cost`, `compact`, `reset`, `pull`, `push`, `remote …`. |
31
- | [`zibby init [project]`](#init) | Bootstrap a Zibby project (config + creds). `-t <template>` to also scaffold a workflow. |
32
- | [`zibby template <verb>`](#template) | List or add workflow templates: `list`, `add <name>`. |
31
+ | [`zibby init [project]`](#init) | Bootstrap a Zibby project (config + creds). `-t <template>` to also scaffold an agent. |
32
+ | [`zibby template <verb>`](#template) | List or add agent templates: `list`, `add <name>`. |
33
33
 
34
34
  Auth + admin:
35
35
 
@@ -40,10 +40,10 @@ Auth + admin:
40
40
  | `zibby status` | Show current auth state. |
41
41
  | `zibby list` | List projects + API tokens you have access to. |
42
42
 
43
- ## workflow new {#workflow-new}
43
+ ## agent new {#agent-new}
44
44
 
45
45
  ```bash
46
- zibby workflow new [name]
46
+ zibby agent new [name]
47
47
  ```
48
48
 
49
49
  Scaffolds `.zibby/workflows/<name>/` with a starter `graph.mjs`, `nodes/example.mjs`, `package.json`, and `workflow.json` manifest. Auto-runs `npm install` in the new folder unless `--skip-install`.
@@ -52,15 +52,15 @@ Options:
52
52
  - `--skip-install` — skip `npm install`
53
53
  - If `name` is omitted, the CLI generates one (`zealous-otter`, etc.)
54
54
 
55
- ## workflow run {#workflow-run}
55
+ ## agent run {#agent-run}
56
56
 
57
57
  ```bash
58
- zibby workflow run <workflow-name>
58
+ zibby agent run <agent-name>
59
59
  ```
60
60
 
61
61
  Loads `graph.mjs`, instantiates the entry class, runs the graph **once** in-process, prints results, and exits. Output → `.zibby/output/sessions/<sessionId>/`.
62
62
 
63
- Mirrors `zibby workflow trigger` so the same input flags work locally and in the cloud — flip the verb and the project, and your local dev loop is exactly the same call shape your CI/CD uses.
63
+ Mirrors `zibby agent trigger` so the same input flags work locally and in the cloud — flip the verb and the project, and your local dev loop is exactly the same call shape your CI/CD uses.
64
64
 
65
65
  Options:
66
66
  - `-p, --param <key=value>` — input param (repeatable, highest precedence). Example: `-p ticket=BUG-123 -p priority=high`
@@ -69,40 +69,40 @@ Options:
69
69
 
70
70
  Examples:
71
71
  ```bash
72
- zibby workflow run my-pipeline
73
- zibby workflow run my-pipeline -p ticket=BUG-123
74
- zibby workflow run my-pipeline --input '{"ticket":"BUG-123","priority":"high"}'
75
- zibby workflow run my-pipeline --input-file payload.json -p priority=urgent
72
+ zibby agent run my-agent
73
+ zibby agent run my-agent -p ticket=BUG-123
74
+ zibby agent run my-agent --input '{"ticket":"BUG-123","priority":"high"}'
75
+ zibby agent run my-agent --input-file payload.json -p priority=urgent
76
76
  ```
77
77
 
78
- ## workflow start {#workflow-start}
78
+ ## agent start {#agent-start}
79
79
 
80
80
  ```bash
81
- zibby workflow start <workflow-name>
81
+ zibby agent start <agent-name>
82
82
  ```
83
83
 
84
- Long-lived local dev server (default port 3848). Listens on `POST /trigger` for input payloads and runs the workflow in-process. Used today by the Studio desktop app — for plain CLI use, prefer `workflow run`.
84
+ Long-lived local dev server (default port 3848). Listens on `POST /trigger` for input payloads and runs the agent in-process. Used today by the Studio desktop app — for plain CLI use, prefer `agent run`.
85
85
 
86
86
  Options:
87
87
  - `-p, --port <port>` — override the default port (3848)
88
88
 
89
- ## workflow list {#workflow-list}
89
+ ## agent list {#agent-list}
90
90
 
91
91
  ```bash
92
- zibby workflow list
92
+ zibby agent list
93
93
  ```
94
94
 
95
- Shows both local workflows (folders under `.zibby/workflows/`) and deployed ones (from cloud, scoped to projects you have access to). Output is a table with UUID, Name, Project, Version. `-` in any column means "not applicable" (e.g. local-only workflows have no UUID yet).
95
+ Shows both local agents (folders under `.zibby/workflows/`) and deployed ones (from cloud, scoped to projects you have access to). Output is a table with UUID, Name, Project, Version. `-` in any column means "not applicable" (e.g. local-only agents have no UUID yet).
96
96
 
97
97
  Options:
98
98
  - `--local-only` — skip the cloud query
99
99
  - `--remote-only` — skip the local scan
100
100
  - `--project <id>` — filter to one project
101
101
 
102
- ## workflow deploy {#workflow-deploy}
102
+ ## agent deploy {#agent-deploy}
103
103
 
104
104
  ```bash
105
- zibby workflow deploy [workflow-name]
105
+ zibby agent deploy [agent-name]
106
106
  ```
107
107
 
108
108
  Two phases:
@@ -114,16 +114,16 @@ After success, the CLI writes `.zibby/workflows/<name>/.zibby-deploy.json` with
114
114
  Options:
115
115
  - `--project <id>` — skip the project picker
116
116
  - `--api-key <key>` — auth via API key (or set `ZIBBY_API_KEY`)
117
- - `--env <path>` — sync a `.env` file into per-workflow env vars after deploy. Repeatable (later files override). See [Per-workflow env vars](./cloud/env-vars).
117
+ - `--env <path>` — sync a `.env` file into per-agent env vars after deploy. Repeatable (later files override). See [Per-agent env vars](./cloud/env-vars).
118
118
  - `--verbose` — show raw CodeBuild logs during the bundle build
119
119
 
120
- ## workflow trigger {#workflow-trigger}
120
+ ## agent trigger {#agent-trigger}
121
121
 
122
122
  ```bash
123
- zibby workflow trigger <uuid>
123
+ zibby agent trigger <uuid>
124
124
  ```
125
125
 
126
- UUID is required (or omit for interactive picker). Names aren't accepted — pass the UUID from `.zibby-deploy.json` or `workflow list`.
126
+ UUID is required (or omit for interactive picker). Names aren't accepted — pass the UUID from `.zibby-deploy.json` or `agent list`.
127
127
 
128
128
  Options:
129
129
  - `-p, --param <key=value>` — input param (repeatable, highest precedence)
@@ -132,14 +132,14 @@ Options:
132
132
  - `--idempotency-key <key>` — prevent duplicate executions
133
133
  - `--api-key <key>` — auth via API key
134
134
 
135
- ## workflow logs {#workflow-logs}
135
+ ## agent logs {#agent-logs}
136
136
 
137
137
  ```bash
138
- zibby workflow logs <uuid> # dump latest run
139
- zibby workflow logs <uuid> -t # tail live (Heroku-style)
138
+ zibby agent logs <uuid> # dump latest run
139
+ zibby agent logs <uuid> -t # tail live (Heroku-style)
140
140
  ```
141
141
 
142
- When `-t` is set and the workflow finishes, the stream waits for the next trigger of the same workflow and auto-switches to streaming it. Ctrl+C to exit.
142
+ When `-t` is set and the agent finishes, the stream waits for the next trigger of the same agent and auto-switches to streaming it. Ctrl+C to exit.
143
143
 
144
144
  Options:
145
145
  - `-t, --follow` — live tail
@@ -147,43 +147,43 @@ Options:
147
147
  - `--all --workflow <name>` — interleaved logs from all runs (requires `--workflow`)
148
148
  - `--api-key <key>` — auth via API key
149
149
 
150
- **Storage & retention.** Live logs are kept in CloudWatch for 30 days. Beyond that, the per-run session folder (uploaded to S3 at the end of every execution) is the long-term archive — pull it back with `zibby workflow download <uuid>`.
150
+ **Storage & retention.** Live logs are kept in CloudWatch for 30 days. Beyond that, the per-run session folder (uploaded to S3 at the end of every execution) is the long-term archive — pull it back with `zibby agent download <uuid>`.
151
151
 
152
- ## workflow env {#workflow-env}
152
+ ## agent env {#agent-env}
153
153
 
154
- Per-workflow encrypted env vars — KMS-stored on the workflow record, injected into the Fargate task at trigger time. Workflow env wins over project secrets on conflict.
154
+ Per-agent encrypted env vars — KMS-stored on the agent record, injected into the Fargate task at trigger time. Agent env wins over project secrets on conflict.
155
155
 
156
156
  ```bash
157
- zibby workflow env list <uuid> # show key names (no values)
158
- zibby workflow env set <uuid> ANTHROPIC_API_KEY=sk-… # add or rotate one
159
- zibby workflow env unset <uuid> OLD_KEY # remove one
160
- zibby workflow env push <uuid> --file .env [--file .env.prod] # bulk replace from .env files
157
+ zibby agent env list <uuid> # show key names (no values)
158
+ zibby agent env set <uuid> ANTHROPIC_API_KEY=sk-… # add or rotate one
159
+ zibby agent env unset <uuid> OLD_KEY # remove one
160
+ zibby agent env push <uuid> --file .env [--file .env.prod] # bulk replace from .env files
161
161
  ```
162
162
 
163
163
  `push` accepts repeatable `--file` (later files override). `list` only ever returns key names — values never leave the encrypted blob.
164
164
 
165
- The shortcut for first-time setup is `zibby workflow deploy --env .env`, which runs `push` automatically against the new UUID. Full guide: [Per-workflow env vars](./cloud/env-vars).
165
+ The shortcut for first-time setup is `zibby agent deploy --env .env`, which runs `push` automatically against the new UUID. Full guide: [Per-agent env vars](./cloud/env-vars).
166
166
 
167
- ## workflow download {#workflow-download}
167
+ ## agent download {#agent-download}
168
168
 
169
169
  ```bash
170
- zibby workflow download <uuid>
170
+ zibby agent download <uuid>
171
171
  ```
172
172
 
173
- Pulls the deployed workflow's sources back into `.zibby/workflows/<name>/`, including the `.zibby-deploy.json` manifest. Useful when collaborators need the source from cloud.
173
+ Pulls the deployed agent's sources back into `.zibby/workflows/<name>/`, including the `.zibby-deploy.json` manifest. Useful when collaborators need the source from cloud.
174
174
 
175
175
  Options:
176
- - `--type <type>` — for built-in workflows (`analysis`, `implementation`, `run_test`)
176
+ - `--type <type>` — for built-in agents (`analysis`, `implementation`, `run_test`)
177
177
  - `--output <dir>` — alternate output base
178
178
  - `--include-default` — pull the built-in default graph if no custom one exists
179
179
 
180
- ## workflow delete {#workflow-delete}
180
+ ## agent delete {#agent-delete}
181
181
 
182
182
  ```bash
183
- zibby workflow delete <uuid>
183
+ zibby agent delete <uuid>
184
184
  ```
185
185
 
186
- Removes the workflow from cloud (and its trigger URL). Local files are not touched.
186
+ Removes the agent from cloud (and its trigger URL). Local files are not touched.
187
187
 
188
188
  ## test {#test}
189
189
 
@@ -240,10 +240,10 @@ zibby init [project-name]
240
240
  zibby init -t browser-test-automation # also scaffold the test recipe
241
241
  ```
242
242
 
243
- Bare init by default — writes `.zibby.config.mjs`, sets up agent credentials, configures memory. Pass `-t <template>` to also scaffold a workflow template into `.zibby/`.
243
+ Bare init by default — writes `.zibby.config.mjs`, sets up agent credentials, configures memory. Pass `-t <template>` to also scaffold an agent template into `.zibby/`.
244
244
 
245
245
  Common options:
246
- - `-t, --template <name>` — workflow template to scaffold (see `zibby template list`). Default: none (config + creds only).
246
+ - `-t, --template <name>` — agent template to scaffold (see `zibby template list`). Default: none (config + creds only).
247
247
  - `--agent <claude|cursor|codex|gemini>` — pick the agent up front instead of prompting
248
248
  - `--memory-backend <mem0|dolt>` — memory backend (default: `mem0` — semantic vector memory, billed through the agent run in cloud, falls back to `dolt` if the embedding proxy is unavailable; pass `dolt` for self-contained structured memory — see [Chat memory](./skills/chat-memory.md))
249
249
  - `--skip-install` / `--skip-memory` — skip `npm install` / skip memory setup
@@ -258,7 +258,7 @@ zibby template list # see what's available
258
258
  zibby template add <name> # copy template into .zibby/ (overwrites = doubles as update)
259
259
  ```
260
260
 
261
- Templates are starter workflow scaffolds. `add` overwrites existing files in place — use it to upgrade an outdated agent helpers block, or to grab a recipe you didn't pick at `init` time.
261
+ Templates are starter agent scaffolds. `add` overwrites existing files in place — use it to upgrade an outdated agent helpers block, or to grab a recipe you didn't pick at `init` time.
262
262
 
263
263
  `zibby template add zibby-workflow-claude` (or `-cursor`, `-codex`) refreshes the per-agent guidance files emitted by this template — the `<!-- zibby-template-version: N -->` markers make the upgrade idempotent.
264
264
 
@@ -442,20 +442,20 @@ Drains the ECS service, deletes the task definition revision, removes the ALB li
442
442
  | `ZIBBY_API_KEY` | API key for non-interactive auth (CI). Preferred over saved session. |
443
443
  | `ZIBBY_PROJECT_ID` | Default project for commands that take `--project` |
444
444
  | `AGENT_TYPE` | Default agent strategy when no per-node override and no project default |
445
- | `ZIBBY_DEPLOY_VERBOSE=1` | Same as `--verbose` on `workflow deploy` |
445
+ | `ZIBBY_DEPLOY_VERBOSE=1` | Same as `--verbose` on `agent deploy` |
446
446
  | `ZIBBY_SESSION_LOG=1` | Re-enable the diagnostic `[zibby:session]` log line in run output |
447
447
  | `ZIBBY_RUN_DIAG=1` | Cloud runtime: dump per-copy `agent-workflow` registry state |
448
448
  | `ZIBBY_DEBUG=true` | Verbose debug logs from the framework |
449
449
 
450
450
  ## Legacy aliases
451
451
 
452
- These still work and route to the same handlers, but new code should use the `zibby workflow <verb>` form:
452
+ These still work and route to the same handlers, but new code should use the `zibby agent <verb>` form. The `zibby workflow <verb>` namespace also remains a full alias for `zibby agent <verb>`:
453
453
 
454
454
  | Legacy | Canonical |
455
455
  |---|---|
456
- | `zibby g workflow <name>` | `zibby workflow new <name>` |
457
- | `zibby start <name>` | `zibby workflow start <name>` |
458
- | `zibby run <name>` | `zibby workflow run <name>` |
459
- | `zibby deploy [name]` | `zibby workflow deploy [name]` |
460
- | `zibby trigger <uuid>` | `zibby workflow trigger <uuid>` |
461
- | `zibby logs <uuid>` | `zibby workflow logs <uuid>` |
456
+ | `zibby g workflow <name>` | `zibby agent new <name>` |
457
+ | `zibby start <name>` | `zibby agent start <name>` |
458
+ | `zibby run <name>` | `zibby agent run <name>` |
459
+ | `zibby deploy [name]` | `zibby agent deploy [name]` |
460
+ | `zibby trigger <uuid>` | `zibby agent trigger <uuid>` |
461
+ | `zibby logs <uuid>` | `zibby agent logs <uuid>` |