@zibby/skills 0.2.23 → 0.2.24
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/browser.d.ts +0 -17
- package/dist/browser.js +3 -3
- package/dist/code-scan.d.ts +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +97 -97
- package/dist/jira.d.ts +75 -9
- package/dist/jira.js +4 -4
- package/dist/package.json +1 -1
- package/dist/report.d.ts +51 -276
- package/dist/trackers/index.js +12 -12
- package/dist/trackers/jira-adapter.js +11 -11
- package/package.json +1 -1
- package/docs/analysis.md +0 -109
- package/docs/apps/agent-ops.md +0 -130
- package/docs/apps/auth.md +0 -158
- package/docs/apps/deploy.md +0 -207
- package/docs/apps/goal-mode.md +0 -175
- package/docs/apps/index.md +0 -149
- package/docs/apps/managing.md +0 -121
- package/docs/cli-reference.md +0 -494
- package/docs/cloning-repositories.md +0 -285
- package/docs/cloud/bundles.md +0 -92
- package/docs/cloud/dedicated-egress.md +0 -140
- package/docs/cloud/editing-prompts.md +0 -79
- package/docs/cloud/env-vars.md +0 -144
- package/docs/cloud/limits.md +0 -81
- package/docs/cloud/logs.md +0 -104
- package/docs/cloud/triggering.md +0 -128
- package/docs/concepts/agents.md +0 -112
- package/docs/concepts/designing-agents.md +0 -247
- package/docs/concepts/graph.md +0 -83
- package/docs/concepts/sessions.md +0 -70
- package/docs/concepts/skills.md +0 -86
- package/docs/concepts/state.md +0 -106
- package/docs/concepts/sub-graphs.md +0 -227
- package/docs/custom-workflows.md +0 -358
- package/docs/get-started/deploy.md +0 -75
- package/docs/get-started/install.md +0 -60
- package/docs/get-started/run-locally.md +0 -94
- package/docs/get-started/trigger-and-logs.md +0 -90
- package/docs/get-started/use-from-agents.md +0 -153
- package/docs/get-started/your-first-workflow.md +0 -69
- package/docs/getting-started.md +0 -108
- package/docs/installation.md +0 -127
- package/docs/integrations/github.md +0 -73
- package/docs/integrations/gitlab.md +0 -43
- package/docs/integrations/jira.md +0 -71
- package/docs/integrations/lark.md +0 -41
- package/docs/integrations/linear.md +0 -43
- package/docs/integrations/notion.md +0 -33
- package/docs/integrations/plane.md +0 -46
- package/docs/integrations/sentry.md +0 -42
- package/docs/integrations/slack.md +0 -33
- package/docs/intro.md +0 -86
- package/docs/legacy/test-automation.md +0 -111
- package/docs/packages/agent-workflow.md +0 -88
- package/docs/packages/cli.md +0 -73
- package/docs/packages/core.md +0 -72
- package/docs/packages/mcp-browser.md +0 -110
- package/docs/packages/mcp-cli.md +0 -176
- package/docs/packages/memory.md +0 -223
- package/docs/packages/skills.md +0 -218
- package/docs/packages/ui-memory.md +0 -245
- package/docs/recipes/bug-autofix.md +0 -85
- package/docs/recipes/github-ai-scout.md +0 -61
- package/docs/recipes/index.md +0 -68
- package/docs/recipes/pipeline-supervisor.md +0 -57
- package/docs/recipes/sentry-triage.md +0 -93
- package/docs/recipes/test.md +0 -190
- package/docs/reviewing-results.md +0 -114
- package/docs/running-tests.md +0 -134
- package/docs/self-host/backup-restore.md +0 -53
- package/docs/self-host/custom-sidecars.md +0 -136
- package/docs/self-host/index.md +0 -75
- package/docs/self-host/storage.md +0 -50
- package/docs/self-host/troubleshooting.md +0 -48
- package/docs/self-host/upgrade.md +0 -81
- package/docs/skills/browser.md +0 -97
- package/docs/skills/chat-memory.md +0 -122
- package/docs/skills/core-tools.md +0 -80
- package/docs/skills/function-skill.md +0 -93
- package/docs/skills/github.md +0 -91
- package/docs/skills/index.md +0 -46
- package/docs/skills/jira.md +0 -99
- package/docs/skills/lark.md +0 -85
- package/docs/skills/memory.md +0 -92
- package/docs/skills/sentry.md +0 -80
- package/docs/skills/slack.md +0 -89
- package/docs/tests/memory.md +0 -131
- package/docs/triggering-workflows.md +0 -552
- package/docs/workflow-artifact-layout-evaluation.md +0 -119
- package/docs/workflow.md +0 -558
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
sidebar_position: 1
|
|
3
|
-
title: GitHub Integration
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# GitHub Integration
|
|
7
|
-
|
|
8
|
-
Connect your GitHub repositories so Zibby can analyze your codebase and create pull requests from AI-generated code.
|
|
9
|
-
|
|
10
|
-
## How It Works
|
|
11
|
-
|
|
12
|
-
Zibby uses a **GitHub App** to access your repositories. The app requests read access to your code and write access to create pull requests.
|
|
13
|
-
|
|
14
|
-
When you run an analysis, Zibby:
|
|
15
|
-
|
|
16
|
-
1. Clones the repository into a secure container
|
|
17
|
-
2. Analyzes the codebase alongside the Jira ticket
|
|
18
|
-
3. Generates code changes as a diff
|
|
19
|
-
4. Optionally creates a pull request with the suggested changes
|
|
20
|
-
|
|
21
|
-
## Connect GitHub
|
|
22
|
-
|
|
23
|
-
1. Go to your project's **Settings** page in the Zibby dashboard
|
|
24
|
-
2. Under **Integrations**, click **Connect GitHub**
|
|
25
|
-
3. You'll be redirected to GitHub to install the Zibby App
|
|
26
|
-
4. Select the repositories you want to grant access to
|
|
27
|
-
5. Click **Install & Authorize**
|
|
28
|
-
6. You'll be redirected back to Zibby
|
|
29
|
-
|
|
30
|
-
## Permissions
|
|
31
|
-
|
|
32
|
-
The Zibby GitHub App requests:
|
|
33
|
-
|
|
34
|
-
| Permission | Level | Purpose |
|
|
35
|
-
|---|---|---|
|
|
36
|
-
| Repository contents | Read | Clone and analyze your code |
|
|
37
|
-
| Pull requests | Write | Create PRs from generated code |
|
|
38
|
-
| Metadata | Read | List repositories |
|
|
39
|
-
|
|
40
|
-
## Select Repositories
|
|
41
|
-
|
|
42
|
-
After connecting, go to **Settings > Repositories** to select which repos are available for analysis. You can choose:
|
|
43
|
-
|
|
44
|
-
- **Primary repository** — the main codebase for analysis
|
|
45
|
-
- **Additional repositories** — supporting repos that provide context
|
|
46
|
-
|
|
47
|
-
## Creating Pull Requests
|
|
48
|
-
|
|
49
|
-
After an analysis generates code changes:
|
|
50
|
-
|
|
51
|
-
1. Go to the **Analysis** page for the ticket
|
|
52
|
-
2. Review the code diff in the **Code Changes** tab
|
|
53
|
-
3. Click **Create Pull Request**
|
|
54
|
-
4. Zibby creates a PR on your repository with the suggested changes
|
|
55
|
-
5. Review and merge through your normal GitHub workflow
|
|
56
|
-
|
|
57
|
-
## Token Management
|
|
58
|
-
|
|
59
|
-
Zibby uses GitHub App installation tokens that automatically refresh. You don't need to manage tokens manually. If you need to reconnect:
|
|
60
|
-
|
|
61
|
-
1. Go to **Settings > Integrations**
|
|
62
|
-
2. Click **Disconnect** next to GitHub
|
|
63
|
-
3. Click **Connect GitHub** to re-authorize
|
|
64
|
-
|
|
65
|
-
## Troubleshooting
|
|
66
|
-
|
|
67
|
-
**"Repository not found" during analysis**
|
|
68
|
-
|
|
69
|
-
Make sure the repository is selected in your project settings and the GitHub App has access to it.
|
|
70
|
-
|
|
71
|
-
**"Permission denied" when creating PR**
|
|
72
|
-
|
|
73
|
-
Verify the GitHub App installation has write access to pull requests for the target repository.
|
|
@@ -1,43 +0,0 @@
|
|
|
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.
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
sidebar_position: 2
|
|
3
|
-
title: Jira Integration
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Jira Integration
|
|
7
|
-
|
|
8
|
-
Connect your Jira workspace to sync tickets into Zibby for analysis and test generation.
|
|
9
|
-
|
|
10
|
-
## How It Works
|
|
11
|
-
|
|
12
|
-
Zibby uses OAuth 2.0 to connect to your Atlassian/Jira account. Once connected, it syncs tickets from your selected Jira project and keeps them up to date.
|
|
13
|
-
|
|
14
|
-
## Connect Jira
|
|
15
|
-
|
|
16
|
-
1. Go to your project's **Settings** page in the Zibby dashboard
|
|
17
|
-
2. Under **Integrations**, click **Connect Jira**
|
|
18
|
-
3. You'll be redirected to Atlassian to authorize Zibby
|
|
19
|
-
4. Grant access to your Jira workspace
|
|
20
|
-
5. You'll be redirected back to Zibby
|
|
21
|
-
|
|
22
|
-
## Select a Jira Space
|
|
23
|
-
|
|
24
|
-
After connecting:
|
|
25
|
-
|
|
26
|
-
1. Go to **Settings > Jira Configuration**
|
|
27
|
-
2. Select the Jira project/space to sync (e.g., "SCRUM", "ENG")
|
|
28
|
-
3. Zibby will import all tickets from that space
|
|
29
|
-
|
|
30
|
-
## Synced Data
|
|
31
|
-
|
|
32
|
-
For each ticket, Zibby imports:
|
|
33
|
-
|
|
34
|
-
- **Summary** and **Description** (including Atlassian Document Format)
|
|
35
|
-
- **Issue type** (Story, Bug, Task, etc.)
|
|
36
|
-
- **Priority** (High, Medium, Low)
|
|
37
|
-
- **Labels** and **Components**
|
|
38
|
-
- **Acceptance criteria** (from description)
|
|
39
|
-
|
|
40
|
-
## Ticket Management
|
|
41
|
-
|
|
42
|
-
In the **Tickets** page:
|
|
43
|
-
|
|
44
|
-
- Tickets sync automatically when you visit the page
|
|
45
|
-
- Drag and drop to reorder tickets by priority
|
|
46
|
-
- Click a ticket to view full details and run analysis
|
|
47
|
-
- Ticket order is preserved across sessions
|
|
48
|
-
|
|
49
|
-
## Reconnecting
|
|
50
|
-
|
|
51
|
-
Jira tokens expire periodically. If you see a "Please reconnect Jira" message:
|
|
52
|
-
|
|
53
|
-
1. Go to **Settings > Integrations**
|
|
54
|
-
2. Click **Reconnect** next to Jira
|
|
55
|
-
3. Re-authorize through the Atlassian OAuth flow
|
|
56
|
-
|
|
57
|
-
Your existing tickets and their order are preserved after reconnecting.
|
|
58
|
-
|
|
59
|
-
## Troubleshooting
|
|
60
|
-
|
|
61
|
-
**"Token refresh failed" error**
|
|
62
|
-
|
|
63
|
-
Your Jira refresh token has expired. Go to Settings and reconnect Jira. This won't affect your existing ticket data or analysis results.
|
|
64
|
-
|
|
65
|
-
**Tickets not syncing**
|
|
66
|
-
|
|
67
|
-
Make sure the correct Jira space is selected in Settings. Only tickets from the selected space are displayed.
|
|
68
|
-
|
|
69
|
-
**Duplicate tickets after reconnecting**
|
|
70
|
-
|
|
71
|
-
This shouldn't happen — Zibby matches tickets by their Jira key (e.g., SCRUM-123) and updates existing records rather than creating duplicates.
|
|
@@ -1,41 +0,0 @@
|
|
|
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.
|
|
@@ -1,43 +0,0 @@
|
|
|
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.
|
|
@@ -1,33 +0,0 @@
|
|
|
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.
|
|
@@ -1,46 +0,0 @@
|
|
|
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.
|
|
@@ -1,42 +0,0 @@
|
|
|
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.
|
|
@@ -1,33 +0,0 @@
|
|
|
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, open a project → **Project Settings**, expand the **Chat integrations** card, and click **Connect** on the **Slack** row
|
|
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 Project Settings — the row 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
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
slug: /
|
|
3
|
-
sidebar_position: 1
|
|
4
|
-
title: Introduction
|
|
5
|
-
pagination_next: get-started/install
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Zibby
|
|
9
|
-
|
|
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.
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
16
|
-
trigger → │ plan │ → │ implement│ → │ verify │ → result
|
|
17
|
-
│ (claude) │ │ (cursor) │ │ (codex) │
|
|
18
|
-
└──────────┘ └──────────┘ └──────────┘
|
|
19
|
-
│ │ │
|
|
20
|
-
Zod out Zod out Zod out
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
```js
|
|
24
|
-
graph
|
|
25
|
-
.addNode('plan', { prompt, outputSchema: Plan, agent: 'claude' })
|
|
26
|
-
.addNode('implement', { prompt, outputSchema: Diff, agent: 'cursor' })
|
|
27
|
-
.addNode('verify', { prompt, outputSchema: Result, agent: 'codex' });
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Try it now
|
|
31
|
-
|
|
32
|
-
Get started in seconds:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
npm install -g @zibby/cli
|
|
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)
|
|
39
|
-
|
|
40
|
-
zibby login
|
|
41
|
-
zibby agent deploy my-agent # ship to cloud
|
|
42
|
-
zibby agent trigger <uuid> # fire it
|
|
43
|
-
zibby agent logs <uuid> -t # tail logs
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Want a ready-made agent instead of a blank slate? Browse the [Agent Marketplace](./recipes/) and use `-t`:
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
zibby init -t browser-test-automation # scaffold a marketplace template at init time
|
|
50
|
-
zibby template list # see what's available
|
|
51
|
-
zibby template add <name> # add a template later (overwrites = doubles as update)
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
→ Next: [Install](./get-started/install)
|
|
55
|
-
|
|
56
|
-
## What you get
|
|
57
|
-
|
|
58
|
-
- **Multi-vendor** — mix Claude Code + Codex + Cursor + Gemini in one agent. Anthropic will never help you orchestrate Codex; multi-vendor neutrality is structural.
|
|
59
|
-
- **Schema-enforced handoff** — Zod validates every node's output before the next runs. No prompt-stuffing.
|
|
60
|
-
- **Run anywhere** — local with hot reload, or cloud with Heroku-style bundles (~3s cold start).
|
|
61
|
-
- **Session replay** — every run lands as on-disk JSONL + artifacts. Re-run any node via `--session <id> --node <name>`.
|
|
62
|
-
- **Cloud-native** — SSE log streaming, dedicated egress IPs for firewalled GitLab / GitHub Enterprise / Salesforce.
|
|
63
|
-
- **Hosted apps too** — [Managed Apps](./apps/) host open-source tools (Grafana, Open WebUI, Docmost, Uptime Kuma, Authentik, …) from a curated catalog, OR deploy anything else via natural-language [goal-mode](./apps/goal-mode). Every instance ships with an autonomous agent-ops sidecar that handles health checks, self-healing, and upgrades.
|
|
64
|
-
- **Drive it from your AI agent** — [`@zibby/mcp-cli`](./packages/mcp-cli) exposes deploy / trigger / logs / debug as MCP tools. Add one snippet to Claude Code, Cursor, Codex, or Gemini and they call Zibby directly from chat. See [Use from your AI agent](./get-started/use-from-agents).
|
|
65
|
-
|
|
66
|
-
## Two product surfaces
|
|
67
|
-
|
|
68
|
-
| | **Agents** | **Apps** |
|
|
69
|
-
|---|---|---|
|
|
70
|
-
| Lifetime | Per trigger (seconds-minutes) | Long-lived |
|
|
71
|
-
| Surface | Graph of agent CLI calls | A whole open-source application |
|
|
72
|
-
| Billing | Per execution | Per minute, while running |
|
|
73
|
-
| Best for | "When ticket lands, classify it" | "Host Grafana for the team" |
|
|
74
|
-
|
|
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.
|
|
76
|
-
|
|
77
|
-
## How it compares
|
|
78
|
-
|
|
79
|
-
| | Zibby | Claude Code Agent Teams | Devin | Mastra / LangGraph / CrewAI |
|
|
80
|
-
|---|---|---|---|---|
|
|
81
|
-
| Wraps real coding-agent CLIs | ✅ Claude + Codex + Cursor + Gemini | ❌ Claude only | ❌ proprietary agent | ❌ wraps LLM APIs |
|
|
82
|
-
| Multi-vendor | ✅ | ❌ | ❌ | N/A |
|
|
83
|
-
| Cloud-hosted | ✅ | ❌ local IDE | ✅ | varies |
|
|
84
|
-
| Schema-enforced handoff | ✅ Zod | ❌ free-form | proprietary | ✅ |
|
|
85
|
-
| Session replay | ✅ on-disk JSONL | ❌ | partial | partial |
|
|
86
|
-
| Static egress IP | ✅ addon | ❌ | ❌ | ❌ |
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
sidebar_position: 1
|
|
3
|
-
title: Test automation (legacy)
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Test automation (legacy)
|
|
7
|
-
|
|
8
|
-
> **Deprecated landing page.** The `zibby test` flow predates the workflow engine. The current canonical pages are [`zibby test` recipe](/recipes/test), [Test memory](/tests/memory), and [CLI Reference → test](/cli-reference#test). This page is kept for users following old links; everything below still works, but **new users should start with [Get Started](/get-started/install)**.
|
|
9
|
-
|
|
10
|
-
> Notably, `zibby init --mem` referenced below is now `zibby init` (memory is set up by default) plus optionally `-t browser-test-automation` to scaffold the test recipe. The current commands are documented in the [CLI Reference](/cli-reference#init).
|
|
11
|
-
|
|
12
|
-
Drive a real browser from a plain-text spec, get a Playwright script back.
|
|
13
|
-
|
|
14
|
-
## Prerequisites
|
|
15
|
-
|
|
16
|
-
- Node.js 18 or later
|
|
17
|
-
- [Cursor](https://cursor.com) IDE installed (for `--agent cursor`), **or** an Anthropic API key (for `--agent claude`), **or** OpenAI API key + Codex CLI (for `--agent codex`)
|
|
18
|
-
|
|
19
|
-
## Option A: Zero Setup (npx)
|
|
20
|
-
|
|
21
|
-
No install needed — run directly:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
echo "Go to example.com and verify the page title says Example Domain" > test.txt
|
|
25
|
-
npx @zibby/cli run test.txt --agent cursor
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Option B: Global Install
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
npm install -g @zibby/cli
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
### 1. Create a test spec
|
|
35
|
-
|
|
36
|
-
Create a plain-text file with your test instructions:
|
|
37
|
-
|
|
38
|
-
```text title="test-specs/login.txt"
|
|
39
|
-
1. Navigate to https://myapp.com/login
|
|
40
|
-
2. Enter email: test@example.com
|
|
41
|
-
3. Enter password: TestPass123
|
|
42
|
-
4. Click the Sign In button
|
|
43
|
-
5. Verify the dashboard page loads
|
|
44
|
-
6. Verify the user's name appears in the header
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### 2. Run it
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
zibby test test-specs/login.txt --agent cursor
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
You'll see:
|
|
54
|
-
- A browser window open
|
|
55
|
-
- The AI agent navigate and interact with your app
|
|
56
|
-
- A generated Playwright script saved to `tests/`
|
|
57
|
-
|
|
58
|
-
### 3. Run the generated test
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
npx playwright test tests/login.spec.js
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## Customizing Your Setup (Optional)
|
|
65
|
-
|
|
66
|
-
If you want to customize the agent, config, or nodes:
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
zibby init --agent cursor
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
This scaffolds:
|
|
73
|
-
|
|
74
|
-
```
|
|
75
|
-
.zibby.config.js # Project configuration (ESM)
|
|
76
|
-
.zibby/
|
|
77
|
-
├── graph.js # Workflow definition (customizable)
|
|
78
|
-
├── nodes/ # Node implementations
|
|
79
|
-
│ ├── execute-live.js
|
|
80
|
-
│ ├── generate-script.js
|
|
81
|
-
│ └── preflight.js
|
|
82
|
-
└── result-handler.js # Post-execution hooks
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Without `zibby init`, the CLI uses the built-in default agent automatically.
|
|
86
|
-
|
|
87
|
-
## Environment Variables
|
|
88
|
-
|
|
89
|
-
| Variable | When needed |
|
|
90
|
-
|---|---|
|
|
91
|
-
| `CURSOR_API_KEY` | CI/CD with `--agent cursor` (locally uses Cursor IDE credentials) |
|
|
92
|
-
| `ANTHROPIC_API_KEY` | Using `--agent claude` |
|
|
93
|
-
| `OPENAI_API_KEY` | Using `--agent codex` |
|
|
94
|
-
| `ZIBBY_API_KEY` | Cloud sync (`--sync` flag) |
|
|
95
|
-
|
|
96
|
-
For local development, add these to a `.env` file in your project root.
|
|
97
|
-
|
|
98
|
-
## Cloud Sync (Optional)
|
|
99
|
-
|
|
100
|
-
To upload results to the [Zibby dashboard](https://zibby.app):
|
|
101
|
-
|
|
102
|
-
1. Create an account at [zibby.app](https://zibby.app)
|
|
103
|
-
2. Get your API key from **Project Settings**
|
|
104
|
-
3. Add to `.env`: `ZIBBY_API_KEY=zby_your_key_here`
|
|
105
|
-
4. Login: `zibby login`
|
|
106
|
-
5. Run with sync: `zibby test test-specs/login.txt --sync`
|
|
107
|
-
|
|
108
|
-
## Next Steps
|
|
109
|
-
|
|
110
|
-
- [Install](/get-started/install) — detailed setup and configuration
|
|
111
|
-
- [CLI Reference](/cli-reference) — every command and flag
|