@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.
- package/README.md +2 -0
- package/dist/browser.d.ts +19 -0
- package/dist/chat-memory.d.ts +355 -0
- package/dist/chat-notify.d.ts +409 -0
- package/dist/core-tools.d.ts +131 -0
- package/dist/function-skill.d.ts +149 -0
- package/dist/git.d.ts +72 -0
- package/dist/github.d.ts +777 -0
- package/dist/github.js +4 -3
- package/dist/gitlab.d.ts +396 -0
- package/dist/gitlab.js +19 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.js +145 -126
- package/dist/integrations.d.ts +110 -0
- package/dist/jira.d.ts +547 -0
- package/dist/lark.d.ts +161 -0
- package/dist/linear.d.ts +344 -0
- package/dist/llm-billing.d.ts +294 -0
- package/dist/memory.d.ts +137 -0
- package/dist/package.json +67 -17
- package/dist/plane.d.ts +24 -0
- package/dist/report.d.ts +354 -0
- package/dist/report.js +9 -9
- package/dist/sentry.d.ts +43 -0
- package/dist/skill-installer.d.ts +86 -0
- package/dist/slack.d.ts +284 -0
- package/dist/test-runner.d.ts +220 -0
- package/dist/trackers/github-adapter.d.ts +96 -0
- package/dist/trackers/github-adapter.js +4 -3
- package/dist/trackers/index.d.ts +27 -0
- package/dist/trackers/index.js +16 -15
- package/dist/trackers/jira-adapter.d.ts +90 -0
- package/dist/trackers/linear-adapter.d.ts +89 -0
- package/dist/trackers/plane-adapter.d.ts +101 -0
- package/dist/trackers/types.d.ts +335 -0
- package/dist/workflow-builder.d.ts +245 -0
- package/docs/apps/agent-ops.md +6 -6
- package/docs/apps/deploy.md +1 -1
- package/docs/apps/index.md +1 -1
- package/docs/apps/managing.md +1 -1
- package/docs/cli-reference.md +65 -65
- package/docs/cloning-repositories.md +9 -9
- package/docs/cloud/bundles.md +8 -8
- package/docs/cloud/dedicated-egress.md +6 -6
- package/docs/cloud/env-vars.md +29 -29
- package/docs/cloud/limits.md +11 -11
- package/docs/cloud/triggering.md +16 -16
- package/docs/concepts/agents.md +4 -4
- package/docs/concepts/sessions.md +7 -7
- package/docs/concepts/state.md +1 -1
- package/docs/concepts/sub-graphs.md +9 -9
- package/docs/get-started/deploy.md +14 -14
- package/docs/get-started/install.md +4 -4
- package/docs/get-started/run-locally.md +12 -12
- package/docs/get-started/trigger-and-logs.md +14 -14
- package/docs/get-started/use-from-agents.md +17 -17
- package/docs/get-started/your-first-workflow.md +8 -8
- package/docs/integrations/gitlab.md +1 -1
- package/docs/integrations/lark.md +2 -2
- package/docs/integrations/linear.md +1 -1
- package/docs/integrations/notion.md +2 -2
- package/docs/integrations/plane.md +1 -1
- package/docs/integrations/slack.md +1 -1
- package/docs/intro.md +4 -4
- package/docs/legacy/test-automation.md +2 -2
- package/docs/packages/cli.md +11 -11
- package/docs/packages/core.md +2 -2
- package/docs/packages/mcp-cli.md +18 -18
- package/docs/packages/skills.md +2 -2
- package/docs/packages/ui-memory.md +1 -1
- package/docs/recipes/bug-autofix.md +1 -1
- package/docs/recipes/index.md +3 -3
- package/docs/recipes/pipeline-supervisor.md +4 -4
- package/docs/recipes/sentry-triage.md +7 -7
- package/docs/recipes/test.md +6 -6
- package/docs/skills/browser.md +2 -2
- package/docs/skills/chat-memory.md +1 -1
- package/docs/skills/core-tools.md +1 -1
- package/docs/skills/function-skill.md +1 -1
- package/docs/skills/github.md +2 -2
- package/docs/skills/index.md +1 -1
- package/docs/skills/jira.md +1 -1
- package/docs/skills/lark.md +1 -1
- package/docs/skills/memory.md +2 -2
- package/docs/skills/sentry.md +1 -1
- package/docs/skills/slack.md +2 -2
- 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 {};
|
package/docs/apps/agent-ops.md
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
90
|
+
## Hooking agent-ops into an agent
|
|
91
91
|
|
|
92
|
-
The most powerful pattern: a Zibby
|
|
92
|
+
The most powerful pattern: a Zibby agent that runs **on agent-ops events**.
|
|
93
93
|
|
|
94
|
-
Example: when an `oom_recovery` fires, run
|
|
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
|
|
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
|
|
package/docs/apps/deploy.md
CHANGED
|
@@ -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
|
|
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
|
|
package/docs/apps/index.md
CHANGED
|
@@ -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/)
|
|
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
|
|
package/docs/apps/managing.md
CHANGED
|
@@ -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
|
|
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
|
|
package/docs/cli-reference.md
CHANGED
|
@@ -5,22 +5,22 @@ title: CLI Reference
|
|
|
5
5
|
|
|
6
6
|
# CLI Reference
|
|
7
7
|
|
|
8
|
-
Every command lives under `zibby
|
|
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
|
-
##
|
|
10
|
+
## Agent commands
|
|
11
11
|
|
|
12
12
|
| Command | What it does |
|
|
13
13
|
|---|---|
|
|
14
|
-
| [`zibby
|
|
15
|
-
| [`zibby
|
|
16
|
-
| [`zibby
|
|
17
|
-
| [`zibby
|
|
18
|
-
| [`zibby
|
|
19
|
-
| [`zibby
|
|
20
|
-
| [`zibby
|
|
21
|
-
| [`zibby
|
|
22
|
-
| [`zibby
|
|
23
|
-
| [`zibby
|
|
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
|
|
32
|
-
| [`zibby template <verb>`](#template) | List or add
|
|
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
|
-
##
|
|
43
|
+
## agent new {#agent-new}
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
|
-
zibby
|
|
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
|
-
##
|
|
55
|
+
## agent run {#agent-run}
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
zibby
|
|
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
|
|
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
|
|
73
|
-
zibby
|
|
74
|
-
zibby
|
|
75
|
-
zibby
|
|
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
|
-
##
|
|
78
|
+
## agent start {#agent-start}
|
|
79
79
|
|
|
80
80
|
```bash
|
|
81
|
-
zibby
|
|
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
|
|
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
|
-
##
|
|
89
|
+
## agent list {#agent-list}
|
|
90
90
|
|
|
91
91
|
```bash
|
|
92
|
-
zibby
|
|
92
|
+
zibby agent list
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
Shows both local
|
|
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
|
-
##
|
|
102
|
+
## agent deploy {#agent-deploy}
|
|
103
103
|
|
|
104
104
|
```bash
|
|
105
|
-
zibby
|
|
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-
|
|
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
|
-
##
|
|
120
|
+
## agent trigger {#agent-trigger}
|
|
121
121
|
|
|
122
122
|
```bash
|
|
123
|
-
zibby
|
|
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 `
|
|
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
|
-
##
|
|
135
|
+
## agent logs {#agent-logs}
|
|
136
136
|
|
|
137
137
|
```bash
|
|
138
|
-
zibby
|
|
139
|
-
zibby
|
|
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
|
|
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
|
|
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
|
-
##
|
|
152
|
+
## agent env {#agent-env}
|
|
153
153
|
|
|
154
|
-
Per-
|
|
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
|
|
158
|
-
zibby
|
|
159
|
-
zibby
|
|
160
|
-
zibby
|
|
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
|
|
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
|
-
##
|
|
167
|
+
## agent download {#agent-download}
|
|
168
168
|
|
|
169
169
|
```bash
|
|
170
|
-
zibby
|
|
170
|
+
zibby agent download <uuid>
|
|
171
171
|
```
|
|
172
172
|
|
|
173
|
-
Pulls the deployed
|
|
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
|
|
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
|
-
##
|
|
180
|
+
## agent delete {#agent-delete}
|
|
181
181
|
|
|
182
182
|
```bash
|
|
183
|
-
zibby
|
|
183
|
+
zibby agent delete <uuid>
|
|
184
184
|
```
|
|
185
185
|
|
|
186
|
-
Removes the
|
|
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
|
|
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>` —
|
|
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
|
|
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 `
|
|
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>`
|
|
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
|
|
457
|
-
| `zibby start <name>` | `zibby
|
|
458
|
-
| `zibby run <name>` | `zibby
|
|
459
|
-
| `zibby deploy [name]` | `zibby
|
|
460
|
-
| `zibby trigger <uuid>` | `zibby
|
|
461
|
-
| `zibby logs <uuid>` | `zibby
|
|
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>` |
|