@zibby/skills 0.1.32 → 0.1.34
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/dist/chat-memory.js +29 -27
- package/dist/chat-notify.js +3 -3
- package/dist/github.js +4 -3
- package/dist/gitlab.js +19 -0
- package/dist/index.js +141 -120
- package/dist/integrations.js +1 -1
- package/dist/jira.js +2 -2
- package/dist/lark.js +1 -1
- package/dist/linear.js +14 -14
- package/dist/llm-billing.js +1 -1
- package/dist/package.json +3 -1
- package/dist/plane.js +1 -1
- package/dist/sentry.js +2 -2
- package/dist/slack.js +1 -1
- package/dist/trackers/github-adapter.js +4 -3
- package/dist/trackers/index.js +13 -12
- package/dist/trackers/jira-adapter.js +1 -1
- package/dist/trackers/linear-adapter.js +16 -16
- package/docs/apps/agent-ops.md +6 -6
- package/docs/apps/deploy.md +1 -1
- package/docs/apps/index.md +45 -42
- package/docs/apps/managing.md +1 -1
- package/docs/cli-reference.md +67 -67
- 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 +5 -3
- 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 +10 -7
- package/docs/integrations/gitlab.md +43 -0
- package/docs/integrations/lark.md +41 -0
- package/docs/integrations/linear.md +43 -0
- package/docs/integrations/notion.md +33 -0
- package/docs/integrations/plane.md +46 -0
- package/docs/integrations/sentry.md +42 -0
- package/docs/integrations/slack.md +33 -0
- package/docs/intro.md +16 -12
- 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 +2 -2
- package/docs/recipes/bug-autofix.md +85 -0
- package/docs/recipes/github-ai-scout.md +61 -0
- package/docs/recipes/index.md +39 -34
- package/docs/recipes/pipeline-supervisor.md +57 -0
- 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 +40 -11
- 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 +4 -0
- 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 +3 -1
|
@@ -6,13 +6,13 @@ pagination_prev: get-started/trigger-and-logs
|
|
|
6
6
|
|
|
7
7
|
# Use Zibby from Claude Code, Cursor, Codex, or Gemini
|
|
8
8
|
|
|
9
|
-
Zibby ships an MCP (Model Context Protocol) server — [`@zibby/mcp-cli`](../packages/mcp-cli). Add it once to your agent's config and Zibby becomes a first-class tool the agent can call directly from chat. Deploy
|
|
9
|
+
Zibby ships an MCP (Model Context Protocol) server — [`@zibby/mcp-cli`](../packages/mcp-cli). Add it once to your agent's config and Zibby becomes a first-class tool the agent can call directly from chat. Deploy agents, trigger runs, tail logs — all without leaving your editor.
|
|
10
10
|
|
|
11
11
|
```
|
|
12
12
|
You: Deploy the browser-test template to my Playhouse project, then run it.
|
|
13
|
-
Agent: →
|
|
14
|
-
→
|
|
15
|
-
→
|
|
13
|
+
Agent: → zibby_scaffold_agent
|
|
14
|
+
→ zibby_deploy_agent
|
|
15
|
+
→ zibby_trigger_agent
|
|
16
16
|
→ "Done. Job a23e… completed in 47s, 0 failures."
|
|
17
17
|
```
|
|
18
18
|
|
|
@@ -109,14 +109,14 @@ Login state lives in `~/.zibby/config.json` (mode `0600`) — the same file the
|
|
|
109
109
|
|
|
110
110
|
| Read-only | Write |
|
|
111
111
|
|---|---|
|
|
112
|
-
| List projects | Scaffold
|
|
113
|
-
| List official templates | Deploy
|
|
114
|
-
| List
|
|
115
|
-
| Show login status | Run
|
|
116
|
-
| Fetch logs from a run | Download a deployed
|
|
117
|
-
| Static-validate
|
|
112
|
+
| List projects | Scaffold an agent from an official template |
|
|
113
|
+
| List official templates | Deploy an agent to a project |
|
|
114
|
+
| List agents (local + remote) | Trigger a deployed agent |
|
|
115
|
+
| Show login status | Run an agent locally (debug) |
|
|
116
|
+
| Fetch logs from a run | Download a deployed agent (with explicit user confirmation) |
|
|
117
|
+
| Static-validate an agent | |
|
|
118
118
|
|
|
119
|
-
**Destructive operations stay out of the agent's hands** —
|
|
119
|
+
**Destructive operations stay out of the agent's hands** — agent delete, env-var changes, schedule mutation, and credential management require you to run `zibby` in a terminal. Two-stage authorization for anything that could surprise you.
|
|
120
120
|
|
|
121
121
|
See the [`@zibby/mcp-cli` package reference](../packages/mcp-cli) for the full tool list and security model.
|
|
122
122
|
|
|
@@ -131,22 +131,22 @@ Agent: → zibby_list_templates
|
|
|
131
131
|
- code-analysis: Jira ticket → analyze → generate code → emit tests
|
|
132
132
|
- generate-test-cases: code diff → prioritized AI-runnable test specs"
|
|
133
133
|
|
|
134
|
-
You: Scaffold generate-test-cases into a new
|
|
134
|
+
You: Scaffold generate-test-cases into a new agent called "release-tests" in my Playhouse project.
|
|
135
135
|
|
|
136
136
|
Agent: → zibby_list_projects (resolves "Playhouse" → projectId)
|
|
137
|
-
→
|
|
138
|
-
→
|
|
137
|
+
→ zibby_scaffold_agent name=release-tests template=generate-test-cases
|
|
138
|
+
→ zibby_validate_agent name=release-tests
|
|
139
139
|
"Scaffolded and validated. Ready to deploy."
|
|
140
140
|
|
|
141
141
|
You: Deploy it.
|
|
142
142
|
|
|
143
|
-
Agent: →
|
|
143
|
+
Agent: → zibby_deploy_agent name=release-tests projectId=…
|
|
144
144
|
"Deployed v1 — UUID 33039db5-2f32-4094-9841-317bc56a88c9."
|
|
145
145
|
|
|
146
146
|
You: Run it against this PR diff: ‹pastes diff›
|
|
147
147
|
|
|
148
|
-
Agent: →
|
|
149
|
-
→
|
|
148
|
+
Agent: → zibby_trigger_agent uuid=33039db5… input={diff: "...", changedFiles: [...]}
|
|
149
|
+
→ zibby_agent_logs jobId=c62e97a4… lines=100
|
|
150
150
|
"Run completed in 1m 23s. Generated 7 test specs (4 Critical, 2 High, 1 Medium)."
|
|
151
151
|
```
|
|
152
152
|
|
|
@@ -1,30 +1,33 @@
|
|
|
1
1
|
---
|
|
2
2
|
sidebar_position: 2
|
|
3
|
-
title: 2. Your first
|
|
3
|
+
title: 2. Your first agent
|
|
4
4
|
pagination_prev: get-started/install
|
|
5
5
|
pagination_next: get-started/run-locally
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# Scaffold
|
|
8
|
+
# Scaffold your first agent
|
|
9
|
+
|
|
10
|
+
An **Agent** is a deployed automation. Scaffold one with the CLI with the `zibby agent` CLI:
|
|
9
11
|
|
|
10
12
|
```bash
|
|
11
|
-
zibby
|
|
13
|
+
zibby agent new my-agent
|
|
14
|
+
# zibby agent new my-agent # alias — identical
|
|
12
15
|
```
|
|
13
16
|
|
|
14
17
|
This creates:
|
|
15
18
|
|
|
16
19
|
```
|
|
17
|
-
.zibby/workflows/my-
|
|
20
|
+
.zibby/workflows/my-agent/
|
|
18
21
|
├── graph.mjs # the workflow definition (entry point)
|
|
19
22
|
├── nodes/
|
|
20
23
|
│ └── example.mjs # a sample node
|
|
21
|
-
├── package.json #
|
|
24
|
+
├── package.json # agent's own deps (each agent is a self-contained npm project)
|
|
22
25
|
└── workflow.json # manifest (workflow name, entry class)
|
|
23
26
|
```
|
|
24
27
|
|
|
25
28
|
If `.zibby/workflows/` doesn't exist yet, the scaffold creates it. If you have a `.zibby.config.mjs` with a custom `paths.workflows`, the scaffold respects it.
|
|
26
29
|
|
|
27
|
-
The first time you run this in a fresh directory, you'll be asked where to keep
|
|
30
|
+
The first time you run this in a fresh directory, you'll be asked where to keep agents (default: `.zibby/workflows`). The CLI also runs `npm install` inside the new agent folder so deps are ready.
|
|
28
31
|
|
|
29
32
|
## What's in graph.mjs
|
|
30
33
|
|
|
@@ -61,6 +64,6 @@ The shape is:
|
|
|
61
64
|
|
|
62
65
|
## Picking the agent
|
|
63
66
|
|
|
64
|
-
Each node can specify its own agent via `agent: 'cursor' | 'claude' | 'codex' | 'gemini' | 'assistant'`. If you omit it, the
|
|
67
|
+
Each node can specify its own agent via `agent: 'cursor' | 'claude' | 'codex' | 'gemini' | 'assistant'`. If you omit it, the agent falls back to the project default (set in `.zibby.config.mjs` or `AGENT_TYPE` env var).
|
|
65
68
|
|
|
66
69
|
→ Next: [Run it locally](./run-locally)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 5
|
|
3
|
+
title: GitLab Integration
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# GitLab Integration
|
|
7
|
+
|
|
8
|
+
Connect a **self-hosted GitLab** instance (or GitLab SaaS) so your agents can read repos, merge requests, issues, and pipelines. GitLab uses a **Personal Access Token**.
|
|
9
|
+
|
|
10
|
+
## How It Works
|
|
11
|
+
|
|
12
|
+
You provide your GitLab instance URL and a Personal Access Token. The `gitlab` skill then exposes GitLab's API to any node that declares it. Outbound calls to a firewalled self-hosted instance can be pinned to a [dedicated egress IP](../cloud/dedicated-egress.md).
|
|
13
|
+
|
|
14
|
+
## Connect GitLab
|
|
15
|
+
|
|
16
|
+
1. In GitLab, go to **User Settings → Access Tokens** and create a Personal Access Token with the `read_api` and `read_repository` scopes (form `glpat-...`)
|
|
17
|
+
2. In the Zibby dashboard, go to **Settings → Integrations** and click **Connect GitLab**
|
|
18
|
+
3. Enter your **GitLab Instance URL** (e.g. `https://gitlab.company.com`)
|
|
19
|
+
4. Paste the **Personal Access Token**
|
|
20
|
+
5. Click **Connect** — Zibby validates both before saving
|
|
21
|
+
|
|
22
|
+
| Field | Required | Notes |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| GitLab Instance URL | Yes | Your instance, e.g. `https://gitlab.company.com` (or `https://gitlab.com`) |
|
|
25
|
+
| Personal Access Token | Yes | `glpat-...` with `read_api` + `read_repository` scopes |
|
|
26
|
+
|
|
27
|
+
## What Agents Can Do
|
|
28
|
+
|
|
29
|
+
Nodes that attach the [`gitlab` skill](../skills/index.md) get tools for repos, merge requests, issues, and pipelines, against either self-hosted GitLab or GitLab SaaS.
|
|
30
|
+
|
|
31
|
+
## Reference keys (SDK / CLI)
|
|
32
|
+
|
|
33
|
+
When running agents directly, the connector reads `GITLAB_TOKEN` (and a base URL for self-hosted instances) from the environment.
|
|
34
|
+
|
|
35
|
+
## Firewalled instances
|
|
36
|
+
|
|
37
|
+
If your GitLab is behind a firewall, add the [dedicated egress IP addon](../cloud/dedicated-egress.md) so all outbound traffic comes from one whitelistable IP.
|
|
38
|
+
|
|
39
|
+
## Troubleshooting
|
|
40
|
+
|
|
41
|
+
**"401 Unauthorized"** — regenerate the token with `read_api` + `read_repository` scopes; expired or under-scoped tokens fail here.
|
|
42
|
+
|
|
43
|
+
**"Could not reach instance"** — confirm the instance URL is reachable from Zibby's egress IP and that it points at the GitLab base URL, not a project page.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 8
|
|
3
|
+
title: Lark Integration
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Lark Integration
|
|
7
|
+
|
|
8
|
+
Connect a Lark (Feishu) self-built app so your agents can send messages, reply, list chats, and read chat history. Lark uses an **App ID + App Secret**.
|
|
9
|
+
|
|
10
|
+
## How It Works
|
|
11
|
+
|
|
12
|
+
You create a self-built app in the Lark Developer Console and paste its App ID and App Secret into Zibby. Optionally add a Verification Token and Encrypt Key if you want inbound Lark events to trigger Zibby agents. The `lark` skill then exposes Lark's API to any node that declares it.
|
|
13
|
+
|
|
14
|
+
## Connect Lark
|
|
15
|
+
|
|
16
|
+
1. In the Lark Developer Console, open your self-built app and go to **Credentials & Basic Info**
|
|
17
|
+
2. Copy the **App ID** (`cli_...`) and **App Secret**
|
|
18
|
+
3. In the Zibby dashboard, go to **Settings → Integrations** and click **Connect Lark**
|
|
19
|
+
4. Paste the App ID and App Secret
|
|
20
|
+
5. (Optional) Add the **Verification Token** and **Encrypt Key** from **Event Subscriptions** if you want inbound events
|
|
21
|
+
|
|
22
|
+
| Field | Required | Notes |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| App ID | Yes | `cli_...` from Credentials & Basic Info |
|
|
25
|
+
| App Secret | Yes | From Credentials & Basic Info |
|
|
26
|
+
| Verification Token | No | Required only for inbound events (Event Subscriptions) |
|
|
27
|
+
| Encrypt Key | No | Only if Lark-side event encryption is enabled |
|
|
28
|
+
|
|
29
|
+
## What Agents Can Do
|
|
30
|
+
|
|
31
|
+
Nodes that attach the [`lark` skill](../skills/lark.md) get `lark_send_message`, `lark_reply`, `lark_list_chats`, and `lark_get_chat_history` — used by routing recipes like [Sentry triage](../recipes/sentry-triage.md) as a Slack alternative.
|
|
32
|
+
|
|
33
|
+
## Inbound events
|
|
34
|
+
|
|
35
|
+
Adding the Verification Token (and Encrypt Key, if enabled) lets Lark events fire your Zibby agents. Leave them blank for outbound-only (notifications).
|
|
36
|
+
|
|
37
|
+
## Troubleshooting
|
|
38
|
+
|
|
39
|
+
**"Invalid App Secret"** — regenerate the secret in the Developer Console and reconnect.
|
|
40
|
+
|
|
41
|
+
**Bot can't post to a chat** — the app must be added to the target chat/group and have the messaging permission scopes granted in the console.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 3
|
|
3
|
+
title: Linear Integration
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Linear Integration
|
|
7
|
+
|
|
8
|
+
Connect Linear so your agents can read and update issues, comments, and workflow states. Linear uses a **personal API key** — no OAuth round-trip.
|
|
9
|
+
|
|
10
|
+
## How It Works
|
|
11
|
+
|
|
12
|
+
You paste a single Linear personal API key. Zibby validates it (by querying the authenticated viewer) before storing it, then the `linear` skill exposes Linear's API to any node that declares it.
|
|
13
|
+
|
|
14
|
+
## Connect Linear
|
|
15
|
+
|
|
16
|
+
1. In Linear, go to **Settings → Security & access → Personal API keys**
|
|
17
|
+
2. Create a new key — it has the form `lin_api_...`
|
|
18
|
+
3. In the Zibby dashboard, go to **Settings → Integrations** and click **Connect Linear**
|
|
19
|
+
4. Paste the key and click **Connect**
|
|
20
|
+
|
|
21
|
+
That's it — one field. Zibby verifies the key against Linear's GraphQL API before saving.
|
|
22
|
+
|
|
23
|
+
## What Agents Can Do
|
|
24
|
+
|
|
25
|
+
Once connected, nodes that attach the [`linear` skill](../skills/index.md) get these tools:
|
|
26
|
+
|
|
27
|
+
| Tool | What it does |
|
|
28
|
+
|---|---|
|
|
29
|
+
| `linear_list_issues` | List issues (filter by team, state, assignee, label) |
|
|
30
|
+
| `linear_get_issue` | Fetch one issue with full detail |
|
|
31
|
+
| `linear_add_comment` | Comment on an issue |
|
|
32
|
+
| `linear_update_state` | Move an issue to a different workflow state |
|
|
33
|
+
| `linear_list_teams` / `linear_list_states` / `linear_list_labels` | Resolve names → IDs for the calls above |
|
|
34
|
+
|
|
35
|
+
## Reference key (SDK / CLI)
|
|
36
|
+
|
|
37
|
+
When running agents directly (local or CI), the same connector reads from the `LINEAR_API_KEY` environment variable instead of the dashboard-stored credential.
|
|
38
|
+
|
|
39
|
+
## Troubleshooting
|
|
40
|
+
|
|
41
|
+
**"Invalid API key"** — regenerate the key in Linear (Settings → Security & access → Personal API keys) and reconnect. Keys are revoked when you remove them from Linear.
|
|
42
|
+
|
|
43
|
+
**Agent can't find a team/state** — call `linear_list_teams` / `linear_list_states` first; Linear's API keys are scoped to whatever the issuing user can see.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 9
|
|
3
|
+
title: Notion Integration
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Notion Integration
|
|
7
|
+
|
|
8
|
+
Connect a Notion workspace so your agents can read and write pages and databases — for example, publishing a rich digest as Notion blocks. Notion uses **OAuth** (workspace install).
|
|
9
|
+
|
|
10
|
+
## How It Works
|
|
11
|
+
|
|
12
|
+
You authorize Zibby against a Notion workspace via OAuth. Notion returns a long-lived bearer token (no refresh, no expiry) scoped to the pages and databases you grant. Zibby stores it encrypted with the workspace metadata. The report renderer then publishes structured digests as native Notion blocks.
|
|
13
|
+
|
|
14
|
+
## Connect Notion
|
|
15
|
+
|
|
16
|
+
1. In the Zibby dashboard, go to **Settings → Integrations** and click **Connect** next to Notion
|
|
17
|
+
2. You're redirected to Notion to authorize Zibby
|
|
18
|
+
3. Select which pages/databases Zibby may access
|
|
19
|
+
4. You're redirected back to Zibby — the card shows the connected workspace
|
|
20
|
+
|
|
21
|
+
## What Agents Can Do
|
|
22
|
+
|
|
23
|
+
Agents can render a `report` object straight to Notion blocks (`reportToNotionBlocks`) and publish it to a connected page or database — the same digest you can route to Slack or Lark. The `notify-notion` template is the shipped example.
|
|
24
|
+
|
|
25
|
+
## Reference key (SDK / CLI)
|
|
26
|
+
|
|
27
|
+
When running agents directly, the connector reads `NOTION_API_KEY` from the environment (a Notion internal-integration token works for the SDK path).
|
|
28
|
+
|
|
29
|
+
## Troubleshooting
|
|
30
|
+
|
|
31
|
+
**Agent can't see a page** — Notion access is page-scoped. Re-run the OAuth flow and grant the specific page/database, or share it with the integration from Notion's UI.
|
|
32
|
+
|
|
33
|
+
**Write fails** — confirm the granted pages include write access; read-only grants can't create blocks.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 4
|
|
3
|
+
title: Plane Integration
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Plane Integration
|
|
7
|
+
|
|
8
|
+
Connect [Plane](https://plane.so) — the open-source project-management tool — so your agents can read and write projects, work items, cycles, modules, and comments. Plane uses an **API key**, not OAuth.
|
|
9
|
+
|
|
10
|
+
## How It Works
|
|
11
|
+
|
|
12
|
+
You provide three values: an API key, a workspace slug, and (optionally) a base URL. Zibby validates them (by listing the workspace's projects) before storing, then the `plane` skill talks to Plane's official MCP server.
|
|
13
|
+
|
|
14
|
+
## Connect Plane
|
|
15
|
+
|
|
16
|
+
1. In Plane, go to **Workspace Settings → API tokens** and create a personal API token (form `plane_api_...`)
|
|
17
|
+
2. Note your **workspace slug** — it's the segment in your Plane URL (`app.plane.so/<workspace-slug>/...`)
|
|
18
|
+
3. In the Zibby dashboard, go to **Settings → Integrations** and click **Connect Plane**
|
|
19
|
+
4. Paste the API key and workspace slug
|
|
20
|
+
5. **Base URL** — leave blank for Plane Cloud (`https://api.plane.so`). For self-hosted or Zibby-hosted Plane, set it to your instance's API base.
|
|
21
|
+
|
|
22
|
+
Zibby lists your workspace's projects to confirm the credentials work before saving.
|
|
23
|
+
|
|
24
|
+
| Field | Required | Notes |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| API key | Yes | From Workspace Settings → API tokens |
|
|
27
|
+
| Workspace slug | Yes | The `<slug>` in your Plane URL |
|
|
28
|
+
| Base URL | No | Defaults to `https://api.plane.so` (Plane Cloud). Set for self-hosted. |
|
|
29
|
+
|
|
30
|
+
## What Agents Can Do
|
|
31
|
+
|
|
32
|
+
Nodes that attach the [`plane` skill](../skills/index.md) get tools for projects, work items, cycles, modules, epics, and comments, backed by Plane's official MCP server.
|
|
33
|
+
|
|
34
|
+
## Reference keys (SDK / CLI)
|
|
35
|
+
|
|
36
|
+
When running agents directly, the connector reads `PLANE_API_KEY`, `PLANE_WORKSPACE_SLUG`, and `PLANE_BASE_URL` from the environment.
|
|
37
|
+
|
|
38
|
+
## Pairs well with hosted Plane
|
|
39
|
+
|
|
40
|
+
Plane is also in the [Managed Apps catalog](../apps/index.md) — you can host a Plane instance on Zibby and point this connector at it via the **Base URL** field.
|
|
41
|
+
|
|
42
|
+
## Troubleshooting
|
|
43
|
+
|
|
44
|
+
**"Workspace not found"** — double-check the workspace slug matches the segment in your Plane URL exactly.
|
|
45
|
+
|
|
46
|
+
**Self-hosted instance rejects the token** — confirm the **Base URL** points at the API base of your instance, not the web UI URL.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 6
|
|
3
|
+
title: Sentry Integration
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sentry Integration
|
|
7
|
+
|
|
8
|
+
Connect a Sentry organization so your agents can list projects, list issues, and fetch issue detail — read-only. Sentry uses **OAuth 2.0 with PKCE**.
|
|
9
|
+
|
|
10
|
+
## How It Works
|
|
11
|
+
|
|
12
|
+
You authorize Zibby against your Sentry organization via OAuth (PKCE — no client secret). Once connected, the `sentry` skill exposes read-only Sentry tools to any node that declares it. This powers the [Sentry triage](../recipes/sentry-triage.md) agent.
|
|
13
|
+
|
|
14
|
+
## Connect Sentry
|
|
15
|
+
|
|
16
|
+
1. In the Zibby dashboard, go to **Settings → Integrations** and click **Connect Sentry**
|
|
17
|
+
2. You're redirected to Sentry to authorize Zibby
|
|
18
|
+
3. Pick the organization to grant access to
|
|
19
|
+
4. You're redirected back to Zibby
|
|
20
|
+
|
|
21
|
+
## What Agents Can Do
|
|
22
|
+
|
|
23
|
+
Nodes that attach the [`sentry` skill](../skills/sentry.md) get read-only tools:
|
|
24
|
+
|
|
25
|
+
| Tool | What it does |
|
|
26
|
+
|---|---|
|
|
27
|
+
| `sentry_list_projects` | List projects in the connected organization |
|
|
28
|
+
| `sentry_list_issues` | List issues (supports Sentry search syntax, sort, limit) |
|
|
29
|
+
| `sentry_get_issue` | Detailed info for one issue by ID |
|
|
30
|
+
|
|
31
|
+
Access is read-only by design — the triage agent reads issues and routes them via Slack/Lark rather than mutating Sentry.
|
|
32
|
+
|
|
33
|
+
## See also
|
|
34
|
+
|
|
35
|
+
- [Sentry skill reference](../skills/sentry.md) — full tool surface
|
|
36
|
+
- [Sentry triage recipe](../recipes/sentry-triage.md) — the agent that consumes this connector
|
|
37
|
+
|
|
38
|
+
## Troubleshooting
|
|
39
|
+
|
|
40
|
+
**"Reconnect Sentry"** — the OAuth grant was revoked or expired. Go to Settings → Integrations and reconnect.
|
|
41
|
+
|
|
42
|
+
**No issues returned** — check the project filter and that the org you authorized actually owns the project.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 7
|
|
3
|
+
title: Slack Integration
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Slack Integration
|
|
7
|
+
|
|
8
|
+
Connect a Slack workspace so your agents can post messages, reply in threads, react, read history, and resolve users. Slack uses **OAuth (V2)** — one click, no token pasting.
|
|
9
|
+
|
|
10
|
+
## How It Works
|
|
11
|
+
|
|
12
|
+
You authorize the Zibby Slack app against your workspace. Slack returns a bot token (`xoxb-...`) that Zibby stores encrypted, along with the team ID/name. The `slack` skill then exposes Slack's API to any node that declares it.
|
|
13
|
+
|
|
14
|
+
## Connect Slack
|
|
15
|
+
|
|
16
|
+
1. In the Zibby dashboard, go to **Settings → Integrations** and click **Connect** next to Slack
|
|
17
|
+
2. You're redirected to Slack to authorize the Zibby app and pick a workspace
|
|
18
|
+
3. Approve the requested scopes
|
|
19
|
+
4. You're redirected back to Zibby — the card shows the connected team name
|
|
20
|
+
|
|
21
|
+
## What Agents Can Do
|
|
22
|
+
|
|
23
|
+
Nodes that attach the [`slack` skill](../skills/slack.md) get tools to list channels, post and reply, react, read channel/thread history, and look up users (by email, search, usergroups). This powers routing in recipes like [Sentry triage](../recipes/sentry-triage.md), where the agent resolves an author email to a Slack user and DMs them.
|
|
24
|
+
|
|
25
|
+
## Reference (SDK / CLI)
|
|
26
|
+
|
|
27
|
+
When running agents directly, the connector reads the bot token and team ID from the environment.
|
|
28
|
+
|
|
29
|
+
## Troubleshooting
|
|
30
|
+
|
|
31
|
+
**Message not delivered** — the bot must be invited to private channels before it can post there.
|
|
32
|
+
|
|
33
|
+
**User lookup returns nothing** — `slack_get_users` excludes bots and deactivated accounts; confirm the user is active in the workspace.
|
package/docs/intro.md
CHANGED
|
@@ -7,7 +7,9 @@ pagination_next: get-started/install
|
|
|
7
7
|
|
|
8
8
|
# Zibby
|
|
9
9
|
|
|
10
|
-
**The cloud
|
|
10
|
+
**The cloud platform for AI agents — built on Claude Code, Cursor, Codex, and Gemini.** Compose real coding-agent CLIs into structured agents with Zod-validated handoff between nodes, then deploy them to the cloud. Vendor-neutral. JavaScript-first.
|
|
11
|
+
|
|
12
|
+
> An **Agent** is a deployed automation — a graph of coding-agent CLI calls with Zod-typed handoff between nodes. Build and ship one with the `zibby agent` CLI.
|
|
11
13
|
|
|
12
14
|
```
|
|
13
15
|
┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
@@ -27,22 +29,24 @@ graph
|
|
|
27
29
|
|
|
28
30
|
## Try it now
|
|
29
31
|
|
|
32
|
+
Get started in seconds:
|
|
33
|
+
|
|
30
34
|
```bash
|
|
31
35
|
npm install -g @zibby/cli
|
|
32
|
-
zibby init
|
|
33
|
-
zibby
|
|
34
|
-
zibby
|
|
36
|
+
zibby init # bare init (config + creds; no template)
|
|
37
|
+
zibby agent new my-agent # scaffold a custom agent
|
|
38
|
+
zibby agent run my-agent # run locally (one-shot)
|
|
35
39
|
|
|
36
40
|
zibby login
|
|
37
|
-
zibby
|
|
38
|
-
zibby
|
|
39
|
-
zibby
|
|
41
|
+
zibby agent deploy my-agent # ship to cloud
|
|
42
|
+
zibby agent trigger <uuid> # fire it
|
|
43
|
+
zibby agent logs <uuid> -t # tail logs
|
|
40
44
|
```
|
|
41
45
|
|
|
42
|
-
Want a
|
|
46
|
+
Want a ready-made agent instead of a blank slate? Browse the [Agent Marketplace](./recipes/) and use `-t`:
|
|
43
47
|
|
|
44
48
|
```bash
|
|
45
|
-
zibby init -t browser-test-automation # scaffold
|
|
49
|
+
zibby init -t browser-test-automation # scaffold a marketplace template at init time
|
|
46
50
|
zibby template list # see what's available
|
|
47
51
|
zibby template add <name> # add a template later (overwrites = doubles as update)
|
|
48
52
|
```
|
|
@@ -51,7 +55,7 @@ zibby template add <name> # add a template later (overwrites =
|
|
|
51
55
|
|
|
52
56
|
## What you get
|
|
53
57
|
|
|
54
|
-
- **Multi-vendor** — mix Claude Code + Codex + Cursor + Gemini in one
|
|
58
|
+
- **Multi-vendor** — mix Claude Code + Codex + Cursor + Gemini in one agent. Anthropic will never help you orchestrate Codex; multi-vendor neutrality is structural.
|
|
55
59
|
- **Schema-enforced handoff** — Zod validates every node's output before the next runs. No prompt-stuffing.
|
|
56
60
|
- **Run anywhere** — local with hot reload, or cloud with Heroku-style bundles (~3s cold start).
|
|
57
61
|
- **Session replay** — every run lands as on-disk JSONL + artifacts. Re-run any node via `--session <id> --node <name>`.
|
|
@@ -61,14 +65,14 @@ zibby template add <name> # add a template later (overwrites =
|
|
|
61
65
|
|
|
62
66
|
## Two product surfaces
|
|
63
67
|
|
|
64
|
-
| | **
|
|
68
|
+
| | **Agents** | **Apps** |
|
|
65
69
|
|---|---|---|
|
|
66
70
|
| Lifetime | Per trigger (seconds-minutes) | Long-lived |
|
|
67
71
|
| Surface | Graph of agent CLI calls | A whole open-source application |
|
|
68
72
|
| Billing | Per execution | Per minute, while running |
|
|
69
73
|
| Best for | "When ticket lands, classify it" | "Host Grafana for the team" |
|
|
70
74
|
|
|
71
|
-
Pick by how long the thing needs to run — see [Apps overview](./apps/) for the decision tree.
|
|
75
|
+
An **Agent** is a deployed automation. An **App** is a hosted open-source application. Pick by how long the thing needs to run — see [Apps overview](./apps/) for the decision tree.
|
|
72
76
|
|
|
73
77
|
## How it compares
|
|
74
78
|
|
|
@@ -63,7 +63,7 @@ npx playwright test tests/login.spec.js
|
|
|
63
63
|
|
|
64
64
|
## Customizing Your Setup (Optional)
|
|
65
65
|
|
|
66
|
-
If you want to customize the
|
|
66
|
+
If you want to customize the agent, config, or nodes:
|
|
67
67
|
|
|
68
68
|
```bash
|
|
69
69
|
zibby init --agent cursor
|
|
@@ -82,7 +82,7 @@ This scaffolds:
|
|
|
82
82
|
└── result-handler.js # Post-execution hooks
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
-
Without `zibby init`, the CLI uses the built-in default
|
|
85
|
+
Without `zibby init`, the CLI uses the built-in default agent automatically.
|
|
86
86
|
|
|
87
87
|
## Environment Variables
|
|
88
88
|
|
package/docs/packages/cli.md
CHANGED
|
@@ -16,18 +16,18 @@ zibby --version
|
|
|
16
16
|
|
|
17
17
|
## What it does
|
|
18
18
|
|
|
19
|
-
- **Scaffolds**
|
|
20
|
-
- **Runs**
|
|
21
|
-
- **Deploys** to Zibby Cloud (Heroku-style bundles): `zibby
|
|
22
|
-
- **Triggers** deployed
|
|
23
|
-
- **Tails** logs: `zibby
|
|
19
|
+
- **Scaffolds** agents: `zibby agent new <name>`
|
|
20
|
+
- **Runs** agents locally (one-shot): `zibby agent run <name>`
|
|
21
|
+
- **Deploys** to Zibby Cloud (Heroku-style bundles): `zibby agent deploy <name>`
|
|
22
|
+
- **Triggers** deployed agents: `zibby agent trigger <uuid>`
|
|
23
|
+
- **Tails** logs: `zibby agent logs <uuid> -t`
|
|
24
24
|
- **Manages** auth: `zibby login`, `zibby logout`, `zibby status`
|
|
25
25
|
|
|
26
26
|
The full command catalog lives at [CLI Reference](../cli-reference).
|
|
27
27
|
|
|
28
|
-
## Self-contained
|
|
28
|
+
## Self-contained agent projects
|
|
29
29
|
|
|
30
|
-
`zibby
|
|
30
|
+
`zibby agent new` creates an agent as a **self-contained npm project** — its own `package.json`, its own `node_modules`. So an agent can pull in arbitrary deps (PDF libraries, custom MCP servers, your own SDK) without polluting the parent project.
|
|
31
31
|
|
|
32
32
|
```
|
|
33
33
|
my-app/
|
|
@@ -35,14 +35,14 @@ my-app/
|
|
|
35
35
|
├── src/
|
|
36
36
|
└── .zibby/
|
|
37
37
|
└── workflows/
|
|
38
|
-
└── my-
|
|
39
|
-
├── package.json #
|
|
38
|
+
└── my-agent/
|
|
39
|
+
├── package.json # agent's own deps
|
|
40
40
|
├── node_modules/
|
|
41
41
|
├── graph.mjs
|
|
42
42
|
└── nodes/
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
The cloud bundle build does the same — `npm install` runs *inside* the
|
|
45
|
+
The cloud bundle build does the same — `npm install` runs *inside* the agent folder, scoped to its own package.json.
|
|
46
46
|
|
|
47
47
|
## Configuration
|
|
48
48
|
|
|
@@ -65,7 +65,7 @@ export default {
|
|
|
65
65
|
};
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
-
`zibby
|
|
68
|
+
`zibby agent deploy` resolves this file locally and ships the result as `zibby.config.json` inside the deploy bundle, so the cloud runtime sees the same `agent` block, per-node `models`, and other declarative knobs as your local runs. Function values are dropped at deploy time (config is data, not code) — if you need runtime variation in cloud, use [per-agent env vars](../cloud/env-vars).
|
|
69
69
|
|
|
70
70
|
## Source
|
|
71
71
|
|
package/docs/packages/core.md
CHANGED
|
@@ -7,7 +7,7 @@ title: '@zibby/core'
|
|
|
7
7
|
|
|
8
8
|
[](https://www.npmjs.com/package/@zibby/core)
|
|
9
9
|
|
|
10
|
-
The batteries — five built-in agent strategies, the runtime, and a re-export of the `@zibby/agent-workflow` engine. This is what `zibby
|
|
10
|
+
The batteries — five built-in agent strategies, the runtime, and a re-export of the `@zibby/agent-workflow` engine. This is what `zibby agent new` scaffolds agents against.
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
13
|
npm install @zibby/core
|
|
@@ -63,7 +63,7 @@ Functions used by the cloud executor and Studio integration — `ZibbyRuntime`,
|
|
|
63
63
|
|
|
64
64
|
| Goal | Pick |
|
|
65
65
|
|---|---|
|
|
66
|
-
| Build
|
|
66
|
+
| Build an agent with built-in strategies (cursor/claude/codex/gemini/assistant) | `@zibby/core` |
|
|
67
67
|
| Embed the engine in your own app with custom agents only | `@zibby/agent-workflow` |
|
|
68
68
|
| Use the CLI | `@zibby/cli` (transitively pulls both) |
|
|
69
69
|
|
package/docs/packages/mcp-cli.md
CHANGED
|
@@ -22,17 +22,17 @@ A Model Context Protocol (MCP) server that exposes the Zibby CLI surface — dep
|
|
|
22
22
|
| `zibby_logout` | Clears the saved session. |
|
|
23
23
|
| `zibby_status` | Who is logged in, how many projects are cached, whether the session is still valid. |
|
|
24
24
|
| `zibby_list_projects` | List the Zibby projects the user has access to. |
|
|
25
|
-
| `zibby_list_templates` | List official
|
|
26
|
-
| `
|
|
27
|
-
| `
|
|
28
|
-
| `
|
|
29
|
-
| `
|
|
30
|
-
| `
|
|
31
|
-
| `
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
|
|
35
|
-
**Destructive operations are intentionally not exposed.**
|
|
25
|
+
| `zibby_list_templates` | List official agent templates (browser-test-automation, code-analysis, generate-test-cases, …). |
|
|
26
|
+
| `zibby_scaffold_agent` | Scaffold `.zibby/workflows/<name>/` from an official template. |
|
|
27
|
+
| `zibby_validate_agent` | Static-check a local agent (~30 ms, no API call). |
|
|
28
|
+
| `zibby_list_agents` | List agents: local, remote, or both. |
|
|
29
|
+
| `zibby_deploy_agent` | Deploy a local agent to a project. |
|
|
30
|
+
| `zibby_trigger_agent` | Trigger a deployed agent by UUID. Returns `jobId`. |
|
|
31
|
+
| `zibby_agent_logs` | Fetch the latest N log lines from a run (one-shot — call again for newer lines). |
|
|
32
|
+
| `zibby_run_agent_local` | Run an agent on the user's machine one-shot, for debugging. No cloud. |
|
|
33
|
+
| `zibby_download_agent` | Pull a deployed agent back to local. Requires explicit `confirm: true` from the agent. |
|
|
34
|
+
|
|
35
|
+
**Destructive operations are intentionally not exposed.** Agent deletion, env-var mutation, schedule changes, and credential management stay in the `zibby` CLI directly. The agent has to involve the user out-of-band for those.
|
|
36
36
|
|
|
37
37
|
## Install
|
|
38
38
|
|
|
@@ -128,14 +128,14 @@ If your agent on Windows can't find `npx`, wrap with `cmd /c`:
|
|
|
128
128
|
```
|
|
129
129
|
User: Deploy the browser-test template to my "playhouse" project.
|
|
130
130
|
Agent: → zibby_list_projects
|
|
131
|
-
→
|
|
132
|
-
→
|
|
133
|
-
→
|
|
131
|
+
→ zibby_scaffold_agent (browser-test-automation → .zibby/workflows/playhouse-tests/)
|
|
132
|
+
→ zibby_validate_agent
|
|
133
|
+
→ zibby_deploy_agent
|
|
134
134
|
→ "Deployed v1 of playhouse-tests. UUID 988…"
|
|
135
135
|
|
|
136
136
|
User: Run it against staging.zibby.dev.
|
|
137
|
-
Agent: →
|
|
138
|
-
→
|
|
137
|
+
Agent: → zibby_trigger_agent (input: { url: "https://staging.zibby.dev" })
|
|
138
|
+
→ zibby_agent_logs (lines: 200, jobId: "abc-123")
|
|
139
139
|
→ "Run completed. Found 0 errors."
|
|
140
140
|
```
|
|
141
141
|
|
|
@@ -144,7 +144,7 @@ Agent: → zibby_trigger_workflow (input: { url: "https://staging.zibby.dev" })
|
|
|
144
144
|
Two-stage by design (mirrors how the `zibby` CLI works):
|
|
145
145
|
|
|
146
146
|
1. **Session token** (`zibby_login`) — device-code OAuth via browser. Identifies the user.
|
|
147
|
-
2. **Per-project API tokens** — fetched at login time and cached locally. The MCP server picks the right token automatically when you call a project-scoped tool like `
|
|
147
|
+
2. **Per-project API tokens** — fetched at login time and cached locally. The MCP server picks the right token automatically when you call a project-scoped tool like `zibby_deploy_agent`.
|
|
148
148
|
|
|
149
149
|
All credentials live in `~/.zibby/config.json` (mode `0600`). The same file `zibby login` writes — so if you've already done `zibby login` from a terminal, the MCP server picks up that session.
|
|
150
150
|
|
|
@@ -156,7 +156,7 @@ The user's password never touches the MCP server: login is OAuth in the browser,
|
|
|
156
156
|
- **Minimum env passthrough** — only `HOME`, `USER`, `PATH`, and the project-scoped `ZIBBY_API_KEY` reach the child CLI process.
|
|
157
157
|
- **API tokens never returned to the agent** — they live in `~/.zibby/config.json` only, read server-side per call.
|
|
158
158
|
- **Destructive ops excluded** — see the table above.
|
|
159
|
-
- **`
|
|
159
|
+
- **`zibby_download_agent` requires `confirm: true`** — the schema rejects calls without it. Agents must explicitly opt in after confirming the destination path with the user.
|
|
160
160
|
|
|
161
161
|
## Troubleshooting
|
|
162
162
|
|