@zibby/skills 0.2.22 → 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.
Files changed (90) hide show
  1. package/dist/browser.js +3 -10
  2. package/dist/code-scan.d.ts +1 -1
  3. package/dist/index.js +81 -88
  4. package/dist/jira.d.ts +75 -9
  5. package/dist/jira.js +4 -4
  6. package/dist/package.json +1 -1
  7. package/dist/report.d.ts +51 -276
  8. package/dist/trackers/index.js +12 -12
  9. package/dist/trackers/jira-adapter.js +11 -11
  10. package/package.json +1 -1
  11. package/docs/analysis.md +0 -109
  12. package/docs/apps/agent-ops.md +0 -130
  13. package/docs/apps/auth.md +0 -158
  14. package/docs/apps/deploy.md +0 -207
  15. package/docs/apps/goal-mode.md +0 -175
  16. package/docs/apps/index.md +0 -149
  17. package/docs/apps/managing.md +0 -121
  18. package/docs/cli-reference.md +0 -494
  19. package/docs/cloning-repositories.md +0 -285
  20. package/docs/cloud/bundles.md +0 -92
  21. package/docs/cloud/dedicated-egress.md +0 -140
  22. package/docs/cloud/editing-prompts.md +0 -79
  23. package/docs/cloud/env-vars.md +0 -144
  24. package/docs/cloud/limits.md +0 -81
  25. package/docs/cloud/logs.md +0 -104
  26. package/docs/cloud/triggering.md +0 -128
  27. package/docs/concepts/agents.md +0 -112
  28. package/docs/concepts/designing-agents.md +0 -247
  29. package/docs/concepts/graph.md +0 -83
  30. package/docs/concepts/sessions.md +0 -70
  31. package/docs/concepts/skills.md +0 -86
  32. package/docs/concepts/state.md +0 -106
  33. package/docs/concepts/sub-graphs.md +0 -227
  34. package/docs/custom-workflows.md +0 -358
  35. package/docs/get-started/deploy.md +0 -75
  36. package/docs/get-started/install.md +0 -60
  37. package/docs/get-started/run-locally.md +0 -94
  38. package/docs/get-started/trigger-and-logs.md +0 -90
  39. package/docs/get-started/use-from-agents.md +0 -153
  40. package/docs/get-started/your-first-workflow.md +0 -69
  41. package/docs/getting-started.md +0 -108
  42. package/docs/installation.md +0 -127
  43. package/docs/integrations/github.md +0 -73
  44. package/docs/integrations/gitlab.md +0 -43
  45. package/docs/integrations/jira.md +0 -71
  46. package/docs/integrations/lark.md +0 -41
  47. package/docs/integrations/linear.md +0 -43
  48. package/docs/integrations/notion.md +0 -33
  49. package/docs/integrations/plane.md +0 -46
  50. package/docs/integrations/sentry.md +0 -42
  51. package/docs/integrations/slack.md +0 -33
  52. package/docs/intro.md +0 -86
  53. package/docs/legacy/test-automation.md +0 -111
  54. package/docs/packages/agent-workflow.md +0 -88
  55. package/docs/packages/cli.md +0 -73
  56. package/docs/packages/core.md +0 -72
  57. package/docs/packages/mcp-browser.md +0 -110
  58. package/docs/packages/mcp-cli.md +0 -176
  59. package/docs/packages/memory.md +0 -223
  60. package/docs/packages/skills.md +0 -218
  61. package/docs/packages/ui-memory.md +0 -245
  62. package/docs/recipes/bug-autofix.md +0 -85
  63. package/docs/recipes/github-ai-scout.md +0 -61
  64. package/docs/recipes/index.md +0 -68
  65. package/docs/recipes/pipeline-supervisor.md +0 -57
  66. package/docs/recipes/sentry-triage.md +0 -93
  67. package/docs/recipes/test.md +0 -190
  68. package/docs/reviewing-results.md +0 -114
  69. package/docs/running-tests.md +0 -134
  70. package/docs/self-host/backup-restore.md +0 -53
  71. package/docs/self-host/custom-sidecars.md +0 -136
  72. package/docs/self-host/index.md +0 -75
  73. package/docs/self-host/storage.md +0 -50
  74. package/docs/self-host/troubleshooting.md +0 -48
  75. package/docs/self-host/upgrade.md +0 -81
  76. package/docs/skills/browser.md +0 -97
  77. package/docs/skills/chat-memory.md +0 -122
  78. package/docs/skills/core-tools.md +0 -80
  79. package/docs/skills/function-skill.md +0 -93
  80. package/docs/skills/github.md +0 -91
  81. package/docs/skills/index.md +0 -46
  82. package/docs/skills/jira.md +0 -99
  83. package/docs/skills/lark.md +0 -85
  84. package/docs/skills/memory.md +0 -92
  85. package/docs/skills/sentry.md +0 -80
  86. package/docs/skills/slack.md +0 -89
  87. package/docs/tests/memory.md +0 -131
  88. package/docs/triggering-workflows.md +0 -552
  89. package/docs/workflow-artifact-layout-evaluation.md +0 -119
  90. package/docs/workflow.md +0 -558
@@ -1,207 +0,0 @@
1
- ---
2
- sidebar_position: 2
3
- title: Deploy your first app
4
- ---
5
-
6
- # Deploy your first app
7
-
8
- A complete walk-through — from `zibby app templates` to a running instance behind a stable URL — in under two minutes.
9
-
10
- ## Prerequisites
11
-
12
- You'll need the CLI installed and authenticated:
13
-
14
- ```bash
15
- npm install -g @zibby/cli
16
- zibby login # OAuth in browser, saves session to ~/.zibby/config.json
17
- ```
18
-
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
-
21
- ## Browse the catalog
22
-
23
- ```bash
24
- zibby app templates
25
- ```
26
-
27
- ```
28
- ID Display name Tier Rate Description
29
- grafana Grafana Light $0.05/hr Dashboards for metrics, logs, traces.
30
- uptime-kuma Uptime Kuma Light $0.05/hr Self-hosted Pingdom-alt.
31
- drawio draw.io Light $0.05/hr Client-side diagram editor.
32
- gastown Gas Town Light $0.05/hr Multi-agent workspace.
33
- open-webui Open WebUI Heavy $0.25/hr ChatGPT-style UI for Ollama / OpenAI.
34
- openhands OpenHands Heavy $0.25/hr AI software-engineer agent (V1).
35
- docmost Docmost Heavy $0.25/hr Wiki + collaboration (multi-service).
36
- … (20 entries total — see `zibby app templates` for the full list)
37
- ```
38
-
39
- ## Deploy from the catalog
40
-
41
- ```bash
42
- zibby app deploy grafana --project <project-id> --name metrics
43
- ```
44
-
45
- On success:
46
-
47
- ```
48
- ↑ Provisioning grafana on Fargate…
49
- ECS service + EFS volume + ALB target group
50
- agent-ops sidecar starting…
51
- ✔ Deployed (instanceId: a1b2c3d4)
52
- → Public URL: https://a1b2c3d4.apps.zibby.dev
53
- ```
54
-
55
- `--project` is interactive-prompted if omitted (CLI walks you through your project list).
56
- `--name` controls the **display name** — what shows in `zibby app list` and the dashboard. The subdomain is a separate opaque identifier (the instance ID), stable for the life of the instance.
57
-
58
- The provisioning steps:
59
-
60
- 1. **Allocate an instance ID** — short hex token used as the subdomain
61
- 2. **Create EFS access point** — per-instance volume, encrypted at rest, AZ-pinned
62
- 3. **Register task definition** — pinned to the catalog entry's image(s) + your resource tier; one container per `services[]` entry for multi-service apps
63
- 4. **Spin up ECS service** — desired count 1, agent-ops sidecar bundled alongside the app container(s)
64
- 5. **Wire the ALB** — listener rule routes `<id>.apps.zibby.dev` to the new target group
65
- 6. **Health-check loop** — the first agent-ops tick fires once the container is up
66
-
67
- Wall-clock: ~45-90 seconds for catalog deploys. The CLI streams progress and prints the public URL the moment the ALB is responsive.
68
-
69
- ## Verify
70
-
71
- ```bash
72
- zibby app status a1b2c3d4
73
- ```
74
-
75
- ```
76
- ● metrics (grafana v10.4.2)
77
- ┌ status running (1/1) ✓
78
- ├ resources 0.5 vCPU · 1 GB RAM ✓
79
- └ hourly $0.05/hr ✓
80
-
81
- Public URL: https://a1b2c3d4.apps.zibby.dev
82
-
83
- Last agent-ops run: 14:00:01 hourly_health_check ok (1.2s)
84
- ```
85
-
86
- Open the URL in a browser — Grafana's login screen renders, you sign in with the default `admin / admin` (and immediately rotate it — or better, follow the next section and put basic auth in front of the whole thing). The data sits on the EFS volume, encrypted and isolated; no other Zibby customer can reach it.
87
-
88
- ## Deploying with auth from day one
89
-
90
- Most self-hosted dashboards (Grafana, Uptime Kuma, n8n on the free tier) either have weak default credentials or no app-level auth at all. The fix is the **auth proxy** — opt in at deploy time and a Caddy sidecar fronts the ALB:
91
-
92
- ```bash
93
- zibby app deploy grafana \
94
- --project <project-id> \
95
- --name metrics \
96
- --auth-type basic \
97
- --auth-user admin \
98
- --auth-password 'S0me-long-passphrase!'
99
- ```
100
-
101
- Verify it sticks:
102
-
103
- ```bash
104
- curl -I https://a1b2c3d4.apps.zibby.dev
105
- # HTTP/2 401 ← unauthenticated request is bounced by Caddy
106
-
107
- curl -I -u 'admin:S0me-long-passphrase!' https://a1b2c3d4.apps.zibby.dev
108
- # HTTP/2 302 ← Grafana sees the request and redirects to /login
109
- ```
110
-
111
- Token-based auth is also supported (for webhook receivers, machine-to-machine access):
112
-
113
- ```bash
114
- zibby app deploy gotify --project <id> --name notify --auth-type token
115
- # Backend auto-generates a 32-char URL-safe token and prints it ONCE.
116
- ```
117
-
118
- You can also pass `--auth-token <yours>` to use your own value. Full details + the password-rotation flow are in [Auth proxy](./auth).
119
-
120
- ## Deploying anything else (goal-mode)
121
-
122
- If the app you want isn't in the catalog — or its license forbids us shipping a one-click bundle — use **goal-mode**. You describe the install in plain English, Claude writes a bash script, agent-ops runs and supervises it inside the container until the app is responding on a port.
123
-
124
- ```bash
125
- zibby app deploy --goal "Install n8n on port 5678 with sqlite persistence" \
126
- --project <project-id> \
127
- --name automations \
128
- --max-turns 40 \
129
- --timeout-min 30
130
- ```
131
-
132
- Output streams the planner's progress + the supervisor's verdicts every ~30s:
133
-
134
- ```
135
- ↑ Goal-mode deploy: "Install n8n on port 5678 with sqlite persistence"
136
- phase 1: planning install script (Claude write+read tools)…
137
- phase 2: executing /tmp/install.sh under supervision…
138
- [30s ] supervisor: continue — npm install in progress
139
- [60s ] supervisor: continue — npm install complete, starting n8n
140
- [90s ] auto-short-circuit: process exit 0, port 5678 returns 200
141
- ✔ Deployed (instanceId: f1e2d3c4)
142
- → Public URL: https://f1e2d3c4.apps.zibby.dev
143
- ```
144
-
145
- License terms of whatever you install are yours, not Zibby's — same model as deploying on your own EC2. Full architecture + cost expectations: [Goal-mode deploys](./goal-mode).
146
-
147
- ## Choosing your model
148
-
149
- Goal-mode deploys (and the cheatsheet-mode catalog entries that have a planner step) call Claude inside the container. You can pick which model:
150
-
151
- ```bash
152
- zibby app deploy --goal "..." --model claude-sonnet-4-6
153
- zibby app deploy --goal "..." --model claude-opus-4-8 # heavier installs
154
- zibby app deploy --goal "..." --model claude-haiku-4-5-20251001 # cheaper, faster
155
- ```
156
-
157
- Rule of thumb:
158
-
159
- - **Sonnet** (default) — most installs fit. Good speed/cost balance.
160
- - **Opus** — bump up for installs that hit lots of intervene loops (heavy native compilation, weird init systems, anything where the first plan tends to be wrong).
161
- - **Haiku** — fine for installs you've already run once and know are reliable.
162
-
163
- Token spend per deploy is typically $0.05 - $0.30 on Sonnet. Opus can go to ~$1.00 on a deploy that takes 5 intervene iterations.
164
-
165
- ## Watch logs while it warms up
166
-
167
- If the app behaves oddly on first launch, tail logs:
168
-
169
- ```bash
170
- zibby app logs a1b2c3d4 -t
171
- ```
172
-
173
- Logs cover both the app container **and** the agent-ops sidecar. Container logs are color-coded by source:
174
-
175
- ```
176
- 14:00:00.122 [grafana] Listening on port 3000
177
- 14:00:01.044 [agent-ops] hourly_health_check: HTTP 200 in 1.2s
178
- 14:00:01.061 [agent-ops] ✓ instance healthy — next tick in 60m
179
- ```
180
-
181
- For multi-service apps (e.g. docmost), scope to one container with `--service`:
182
-
183
- ```bash
184
- zibby app logs <id> -t --service db # just the postgres container
185
- zibby app logs <id> -t --service web # just the docmost web container
186
- ```
187
-
188
- `Ctrl+C` exits tail mode; logs persist in CloudWatch with 30-day retention.
189
-
190
- ## What's actually private vs shared
191
-
192
- Mental model that lines up with what the bill shows:
193
-
194
- | Resource | Per-instance? |
195
- |---|---|
196
- | Subdomain (`<id>.apps.zibby.dev`) | Yours |
197
- | EFS volume | Yours, encrypted |
198
- | ALB target group | Yours |
199
- | ECS task definition | Yours (revisions tracked) |
200
- | Fargate task | Yours |
201
- | ALB itself | Shared — pooled across all tenants |
202
- | ECS cluster | Shared |
203
- | EFS file system | Shared, but per-instance access points enforce isolation |
204
-
205
- The shared bits are why per-minute pricing can be $0.05/hr instead of $30/mo — economies of scale on the platform side.
206
-
207
- → Next: [Manage instances](./managing)
@@ -1,175 +0,0 @@
1
- ---
2
- sidebar_position: 6
3
- title: Goal-mode deploys
4
- ---
5
-
6
- # Goal-mode deploys
7
-
8
- **Describe what you want. Get a deployment.**
9
-
10
- Goal-mode is `zibby app deploy --goal "..."` — a free-form natural-language install path for any app not in the catalog. Claude writes the bash, agent-ops runs and supervises it inside the container, and you get back a stable HTTPS URL pointing at a running app, encrypted EFS volume and all.
11
-
12
- ```bash
13
- zibby app deploy --goal "Install n8n on port 5678 with sqlite persistence" \
14
- --project <project-id> \
15
- --name automations
16
- ```
17
-
18
- That's it. ~5 minutes wall-clock on a healthy run, $0.05-$0.30 in Claude tokens, and you have n8n.
19
-
20
- ## When goal-mode works well
21
-
22
- - The install fits in **30 min wall-clock and 8 GB RAM**. (Most things: anything pip / npm / cargo / apt / single Docker run. Not things that need to compile LLVM from source.)
23
- - The app exposes a **single HTTP port** for verification. (Multi-port apps work — agent-ops just verifies the main one.)
24
- - You're OK with the app running on a fresh ephemeral EFS volume. (No "restore from my existing database" — start the customer's data flow yourself, post-deploy.)
25
- - The upstream has a **documented install path**. Random unmaintained GitHub repos with no README work less well than mainstream projects.
26
-
27
- If your install needs more than that — long compile steps, custom kernel modules, a 50 GB pre-trained model download — bring your own host. Goal-mode isn't trying to replace EC2.
28
-
29
- ## How it works
30
-
31
- ```
32
- zibby app deploy --goal "Install n8n on port 5678 ..."
33
-
34
-
35
- backend POST /apps:
36
- - extracts verify port from "on port NNNN" (sniffs goal text)
37
- - splices AGENT_OPS_BOOTSTRAP_MODE=agent_script
38
- - splices BOOTSTRAP_PROMPT=<your goal text>
39
- - splices customer's BYOK Claude token (env or --anthropic-token)
40
- - splices model / max-turns / timeout / token-budget flags
41
- - splices AGENT_OPS_BOOTSTRAP_SYSTEM_RULES (curated house rules)
42
- - defaults to 4 vCPU / 8 GB Fargate (heavier than the catalog tiers,
43
- because installs are CPU-spiky)
44
-
45
-
46
- container starts. agent-ops runs the agent_script loop:
47
-
48
- ┌── Phase 1: PLAN ─────────────────────────────────────────────┐
49
- │ Claude with Write+Read tools only — no Bash, no Edit. │
50
- │ Reads your goal + house rules. Writes one complete bash │
51
- │ script to /tmp/install.sh. ~2 turns, ~$0.05. │
52
- └──────────────────────────────────────────────────────────────┘
53
-
54
-
55
- ┌── Phase 2: SUPERVISE LOOP ───────────────────────────────────┐
56
- │ agent-ops execs /bin/bash /tmp/install.sh in a process group │
57
- │ (so we can kill the whole tree on intervene). │
58
- │ │
59
- │ Every 30s: │
60
- │ - snapshot stdout/stderr tail + proc status + idle time │
61
- │ - send to Claude (text-only, no tools) │
62
- │ - Claude returns one JSON line: │
63
- │ {"verdict":"continue","note":"..."} │
64
- │ {"verdict":"done","note":"app responding on :5678"} │
65
- │ {"verdict":"intervene","reason":"...","note":"..."} │
66
- │ │
67
- │ continue: log progress, keep polling │
68
- │ done: write success, leave the nohup'd app running │
69
- │ intervene: SIGTERM the pgroup, 5s grace, SIGKILL, replan │
70
- │ │
71
- │ Auto-short-circuit: if proc EXITED with code 0 AND verify │
72
- │ port returns 2xx-499, agent-ops declares done without │
73
- │ asking the supervisor. Stops false-positive intervenes when │
74
- │ the app went into the background and Claude can't see its │
75
- │ "startup logs" in the snapshot anymore. │
76
- └──────────────────────────────────────────────────────────────┘
77
-
78
- intervene? ───→ back to Phase 1, with stderr +
79
- stdout + exit code as new context.
80
- Claude REWRITES the script (not patches).
81
- Phase 2 starts fresh.
82
-
83
-
84
- Hard caps (whichever hits first):
85
- - 5 iterations
86
- - 30 min wall-clock (configurable via --timeout-min)
87
- - $1.00 token budget
88
- ```
89
-
90
- Every iteration's script + supervisor turns + final status are persisted under `/var/lib/agent-ops/agent_script-state/` on the per-instance EFS volume. `zibby app logs <id>` surfaces the supervisor verdicts in real time; the persisted state is there for post-mortems.
91
-
92
- ## CLI flags
93
-
94
- The flags that matter for goal-mode:
95
-
96
- | Flag | What |
97
- |---|---|
98
- | `--goal "<text>"` | Free-form install description. Mutually exclusive with `[appType]`. |
99
- | `--model <name>` | Claude model — `claude-sonnet-4-6` (default), `claude-opus-4-8` (heavier installs), `claude-haiku-4-5-20251001` (cheaper). |
100
- | `--max-turns <n>` | Claude subprocess max turns, 1-200 (default 25). Bump for heavy installs (n8n, OpenHands) that need many supervisor checks. |
101
- | `--timeout-min <n>` | Bootstrap wall-clock minutes, 1-120 (default 30). |
102
- | `--anthropic-token <token>` | Per-deploy Claude credential override. An Anthropic API key (`sk-ant-api03-…`). Also accepts `ZIBBY_ANTHROPIC_TOKEN` env. Falls back to workspace credentials if absent. |
103
- | `--name <name>` | Display name for `zibby app list` / dashboard. |
104
- | `--auth-type / --auth-user / --auth-password / --auth-token` | Optional Caddy auth sidecar in front of the installed app. See [Auth proxy](./auth). |
105
-
106
- Goal-mode tasks default to **4 vCPU / 8 GB** Fargate — heavier than catalog tiers — because `npm install -g n8n` and friends are CPU/memory spiky. You can still pass `--cpu` / `--memory` to override.
107
-
108
- ## Cost expectations
109
-
110
- Per goal-mode deploy:
111
-
112
- - **Compute** — 5-15 min of 4 vCPU / 8 GB Fargate at standard Fargate pricing. Single-digit cents per deploy.
113
- - **Claude tokens** — typically $0.05-$0.30 on Sonnet (the default). Opus-4-8 can hit $1.00 if the install takes 4-5 intervene iterations. Hard-capped at $1.00 by agent-ops — beyond that the deploy fails.
114
- - **Ongoing** — once the app is running, the deploy is exactly like any catalog app: per-minute Fargate billing at the resource tier you ended up with. No Claude tokens spent after the install converges.
115
-
116
- Practical: budget $0.20 - $0.50 per goal-mode deploy attempt, including failed ones. Re-runs after a fix are cheaper because the planner gets shorter context.
117
-
118
- ## When it converges, when it loops
119
-
120
- It converges fast when:
121
-
122
- - The install is a single package manager call + a config file + a port to listen on.
123
- - The app's own README has the exact install steps in a copy-pasteable block.
124
- - You include the port in your goal (`"on port 5678"`) — saves the planner a guess.
125
-
126
- It loops or fails when:
127
-
128
- - The install needs interactive prompts and the planner forgets to `apt-get install -y` / `DEBIAN_FRONTEND=noninteractive`.
129
- - The app needs a sister service (Postgres + Redis + web) and you didn't tell it. Goal-mode does one task; for multi-service, prefer a [catalog multi-service entry](./index#multi-service-entries) or split into multiple deploys.
130
- - The download is huge (multi-GB models) and times out the 30-min wall-clock. Use `--timeout-min 60` if you know that's coming.
131
-
132
- If it fails, the supervisor verdicts in the logs tell you exactly what went wrong on each iteration — paste the goal + the failure output back into the next `--goal "..."` with a hint and it usually converges.
133
-
134
- ## License responsibility
135
-
136
- Goal-mode is intentionally a different licensing posture from the catalog:
137
-
138
- - **Catalog apps** — Zibby pre-cleared the license. We're confident we can ship that bundle as a paid host.
139
- - **Goal-mode** — **you** are directing the install. You named the upstream project, you accepted whatever license terms apply, you decided to run it on infrastructure you're paying for. Same model as deploying it on your own EC2 instance — Zibby is the compute provider, not the redistributor.
140
-
141
- This is why n8n (Sustainable Use License — forbids paid commercial hosting by a third party) isn't in the catalog but **can** be installed via goal-mode: when you direct the install, you're the operator. The SUL is between you and n8n GmbH, not between Zibby and them.
142
-
143
- If you're unsure whether your install is fine for goal-mode, read the upstream license. If it requires you-as-the-operator to accept terms before running it, you're the one accepting — make sure that's a thing you're allowed to do for your use case.
144
-
145
- ## Worked example: n8n
146
-
147
- ```bash
148
- zibby app deploy --goal "Install n8n on port 5678 with sqlite persistence" \
149
- --project <project-id> \
150
- --name automations \
151
- --max-turns 40
152
- ```
153
-
154
- Streaming output (abbreviated):
155
-
156
- ```
157
- ↑ Goal-mode deploy: "Install n8n on port 5678 with sqlite persistence"
158
- Fargate task: 4 vCPU / 8 GB
159
- model: claude-sonnet-4-6, max-turns: 40, timeout: 30 min
160
- phase 1: planning install script…
161
- plan turn 1/40: reading house rules
162
- plan turn 2/40: wrote /tmp/install.sh (47 lines)
163
- phase 2: executing /tmp/install.sh under supervision…
164
- [30s ] supervisor: continue — apt-get update in progress
165
- [60s ] supervisor: continue — installing nodejs 20 from nodesource
166
- [120s] supervisor: continue — npm install -g n8n (compiling sqlite3)
167
- [240s] supervisor: continue — n8n starting, binding to :5678
168
- [270s] auto-short-circuit: process exit 0, port 5678 returns 200
169
- ✔ Deployed (instanceId: f1e2d3c4)
170
- → Public URL: https://f1e2d3c4.apps.zibby.dev
171
- ```
172
-
173
- Total: ~4.5 min, 1 iteration, $0.07 in Claude tokens. Open the URL, set up your n8n admin account, you're done.
174
-
175
- → Next: [Auth proxy](./auth) (put basic auth in front of the install you just did) or [Agent operator](./agent-ops) (how the supervise loop works in detail)
@@ -1,149 +0,0 @@
1
- ---
2
- sidebar_position: 1
3
- title: Apps overview
4
- ---
5
-
6
- # Managed Apps
7
-
8
- Long-lived, per-tenant containers running open-source tools — each behind a stable HTTPS URL, on encrypted EFS, with an **autonomous agent-ops sidecar** that handles health checks, self-healing, and upgrades on its own.
9
-
10
- ```bash
11
- zibby app templates # browse the catalog
12
- zibby app deploy grafana # one-click — ECS service + EFS volume + ALB target group
13
- zibby app logs <id> -t # tail logs, SSE auto-reconnect
14
- zibby app status <id> # uptime, cost, version, agent-ops activity
15
- ```
16
-
17
- ## Two paths to a deployment
18
-
19
- There are two ways to land a container on the apps fleet, and you pick by **whether the thing you want is in our catalog**:
20
-
21
- | | **Catalog** | **Goal-mode** |
22
- |---|---|---|
23
- | Trigger | `zibby app deploy <slug>` | `zibby app deploy --goal "..."` |
24
- | Source | Curated bundle (image + EFS layout + defaults) | Free-form natural-language install |
25
- | Time-to-live | ~45-90 s | 2-15 min (Claude writes + runs the install script) |
26
- | Licensing | Pre-cleared by Zibby | You direct the install; you accept the upstream license |
27
- | Best for | Anything in the 22-app catalog | n8n, random GitHub project, anything not in the catalog |
28
-
29
- Both paths land in the same shape — Fargate task, per-instance EFS volume, ALB target group, agent-ops sidecar — and look identical to every downstream `zibby app logs/status/upgrade` command. The only difference is **who wrote the install recipe**.
30
-
31
- See [Goal-mode deploys](./goal-mode) for the long form.
32
-
33
- ## Why apps (not agents)
34
-
35
- Both are pillars of Zibby Cloud. Pick by **how long the thing needs to run**:
36
-
37
- | | **Agent** | **App** |
38
- |---|---|---|
39
- | Lifetime | Per-trigger (seconds to minutes) | Long-lived (24/7 or paused) |
40
- | Surface | A graph of agent CLI calls | A whole open-source application |
41
- | Billing | Per execution | Per minute, while running |
42
- | Persistence | Session JSONL + S3 artifacts | Encrypted-at-rest EFS volume |
43
- | Best for | "When ticket lands, classify it" | "Host Grafana for the team" |
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/).
46
-
47
- ## What you get with every app
48
-
49
- - **Private subdomain** — `<instance-id>.apps.zibby.dev`, TLS by default
50
- - **Dedicated EFS volume** — encrypted-at-rest, persists across container restarts and upgrades
51
- - **Per-instance ALB target group** — your traffic doesn't share a load balancer with other tenants
52
- - **Per-minute Fargate billing** — including the agent-ops sidecar, pause-to-stop billing
53
- - **agent-ops sidecar** (see [Agent operator](./agent-ops)) — hourly health checks, self-healing, upgrades
54
- - **SSE log streaming** — `zibby app logs -t` tails any container from anywhere
55
- - **Optional auth proxy** — `--auth-type basic|token` puts a Caddy sidecar in front of the app (see [Auth proxy](./auth))
56
- - **Dedicated egress IP addon** — pin outbound HTTPS through one whitelistable IP for self-hosted GitLab / Salesforce / Oracle Cloud
57
-
58
- ## The catalog
59
-
60
- Each catalog entry is a curated bundle: container image, EFS volume layout, ALB wiring, secrets pattern, resource defaults. Today's catalog is **22 apps**. Run `zibby app templates` for the canonical, always-up-to-date list with live tier + hourly rate — the sample below is a snapshot, grouped by what each app is for.
61
-
62
- ### AI
63
-
64
- | App | What it does |
65
- |---|---|
66
- | **Open WebUI** | ChatGPT-style UI for Ollama / OpenAI-compatible endpoints |
67
- | **OpenHands** | AI software-engineer agent — drives the repo end-to-end, GitHub PR workflows |
68
- | **Gas Town** | Multi-agent workspace — coordinate Claude, Codex, Cursor, Gemini |
69
- | **Open Design** | Local-first design-artifact generator via your installed coding-agent CLIs |
70
- | **Plane** | Self-hosted Jira / Linear alternative — issues, cycles, modules, pages |
71
-
72
- ### Automation
73
-
74
- | App | What it does |
75
- |---|---|
76
- | **Activepieces** | Open-source Zapier alternative — visual automation, 400+ MCP servers |
77
- | **ChangeDetection.io** | Watch any web page for changes — notifies on diff |
78
- | **Gotify** | Self-hosted push-notification + webhook server |
79
-
80
- ### Data + APIs
81
-
82
- | App | What it does |
83
- |---|---|
84
- | **PostgREST** | Serverless REST API on top of any Postgres schema |
85
- | **Mathesar** | Spreadsheet-style web UI for Postgres |
86
- | **PocketBase** | Single-file backend — SQLite + REST + realtime + auth + admin UI |
87
-
88
- ### Productivity + docs
89
-
90
- | App | What it does |
91
- |---|---|
92
- | **Docmost** | Real-time collaborative wiki (multi-service: web + Postgres + Redis) |
93
- | **SiYuan** | Privacy-first, block-based note-taking / PKM, local-first |
94
- | **draw.io** | Client-side diagram editor (flowcharts, UML, ER, network) |
95
- | **Glance** | Self-hosted homepage / dashboard with a feed of RSS, GitHub, monitors |
96
- | **Homepage** | Self-hosted dashboard with service integrations + bookmarks |
97
-
98
- ### Observability
99
-
100
- | App | What it does |
101
- |---|---|
102
- | **Grafana** | Dashboards for metrics, logs, traces |
103
- | **OpenObserve** | Petabyte-scale logs + metrics + traces in one binary |
104
- | **Uptime Kuma** | Self-hosted uptime monitor + status page |
105
- | **Beszel** | Lightweight server monitor with historical charts |
106
-
107
- ### Identity
108
-
109
- | App | What it does |
110
- |---|---|
111
- | **Authentik** | Self-hosted SSO / IdP (OAuth/SAML/LDAP) |
112
- | **ZITADEL** | Cloud-native identity + access management (OAuth2/OIDC/SAML/LDAP) |
113
-
114
- `zibby app templates` is the canonical, always-up-to-date list — the tables above are a snapshot, and the live command is the source of truth for each app's tier and hourly rate.
115
-
116
- ### Multi-service entries
117
-
118
- A catalog entry can declare more than one container in the same task — useful for apps that need a DB + cache alongside the web tier. **Docmost** is the live example: web + `postgres:16-alpine` + `redis:7-alpine` sharing localhost and per-volume EFS access points. You don't have to think about it — `zibby app deploy docmost` reads identically — but `zibby app logs --service db` lets you scope log tails to one container.
119
-
120
- ### Not in the catalog? Use goal-mode
121
-
122
- The catalog only includes apps whose licenses permit Zibby (a paid host) to ship them as a one-click bundle. Apps under the Sustainable Use License — most famously **n8n** — aren't in the catalog because the SUL forbids paid commercial hosting. They can still be deployed via goal-mode:
123
-
124
- ```bash
125
- zibby app deploy --goal "Install n8n on port 5678 with sqlite persistence"
126
- ```
127
-
128
- The customer (you) is directing the install — Zibby just provides compute. License terms of whatever you install are between you and the upstream project. See [Goal-mode deploys](./goal-mode).
129
-
130
- ## How tiers work
131
-
132
- The catalog groups apps into three resource tiers:
133
-
134
- | Tier | CPU | RAM | Rate |
135
- |---|---|---|---|
136
- | **Light** | 0.5 vCPU | 1 GB | $0.05/hr |
137
- | **Standard** | 1 vCPU | 2 GB | $0.10/hr |
138
- | **Heavy** | 2 vCPU | 4 GB | $0.25/hr |
139
-
140
- Per-instance resource overrides are supported when you need to bump CPU / memory for one specific deployment without forking the catalog entry. See [Managing instances → resource overrides](./managing#resource-overrides). Goal-mode deploys default to 4 vCPU / 8 GB to give the install agent enough headroom.
141
-
142
- ## Pricing model
143
-
144
- - **Per-minute Fargate billing** while the instance is running, scoped to the tier above
145
- - **No flat platform fee** for apps — you pay only for what's running
146
- - **Pause to stop the meter** — `zibby app destroy` immediately stops billing; redeploy when you need it back (data is gone after destroy; pause-without-destroy is on the roadmap)
147
- - **Free tier**: $10 in credits on signup, enough to run a Light app for ~8 days
148
-
149
- → Next: [Deploy your first app](./deploy)
@@ -1,121 +0,0 @@
1
- ---
2
- sidebar_position: 3
3
- title: Manage instances
4
- ---
5
-
6
- # Operating instances
7
-
8
- Every lifecycle action — restart, scale, upgrade, rotate credentials, tear down — is one CLI call. All operations are scoped by **instance ID** (`a1b2c3d4`-style); `zibby app list` shows the ID alongside the display name.
9
-
10
- ## Inventory
11
-
12
- ```bash
13
- zibby app list # all instances under your account
14
- zibby app list --project <project-id> # scope to one project
15
- ```
16
-
17
- ```
18
- ID Name App Tier Status Hourly Uptime
19
- a1b2c3d4 wiki docmost Heavy running $0.25/hr 7d 14h
20
- a8f7e6d5 metrics grafana Light running $0.05/hr 21d 3h
21
- b2c3d4e5 webui open-webui Heavy paused — —
22
- ```
23
-
24
- `paused` instances are not billed; `running` are. `status` is updated every 60s by the agent-ops sidecar.
25
-
26
- ## Single-instance status
27
-
28
- ```bash
29
- zibby app status a1b2c3d4
30
- ```
31
-
32
- A one-screen summary: status, resources, hourly rate, public URL, last agent-ops run.
33
-
34
- ## Logs
35
-
36
- ```bash
37
- zibby app logs a1b2c3d4 # last 200 lines, both containers
38
- zibby app logs a1b2c3d4 -t # tail mode, polls every 3s
39
- zibby app logs a1b2c3d4 --lines 1000 # bigger window
40
- zibby app logs a1b2c3d4 --json # raw JSON lines
41
- zibby app logs a1b2c3d4 --verbose # full body, no parsing
42
- ```
43
-
44
- Logs include both the **app** container and the **agent-ops** sidecar, prefixed by source. Tail mode reconnects automatically on network blips.
45
-
46
- ## Upgrade (zero-downtime)
47
-
48
- ```bash
49
- zibby app upgrade a1b2c3d4
50
- zibby app upgrade a1b2c3d4 --version 0.1.16 # pin a specific agent-ops version
51
- ```
52
-
53
- Behind the scenes:
54
-
55
- 1. Register a new task definition revision (same image, same volume, same env)
56
- 2. Update the ECS service with the new revision
57
- 3. ALB drains old tasks while new ones come up; the listener serves the new tasks once they pass health checks
58
- 4. Old tasks shut down
59
-
60
- A load-bearing Grafana stays serving traffic the whole time. `--yes` skips the confirmation prompt for automation.
61
-
62
- ## Restart
63
-
64
- ```bash
65
- zibby app restart a1b2c3d4
66
- ```
67
-
68
- Forces the ECS service to roll the current tasks — useful when an app gets wedged on a stuck connection and you don't want a full upgrade.
69
-
70
- ## Rotate credentials
71
-
72
- For BYOK apps (e.g. open-webui pointing at Anthropic via your own key):
73
-
74
- ```bash
75
- zibby app update-credential a1b2c3d4
76
- ```
77
-
78
- This picks up whatever's currently in your workspace credentials (set via [Settings → Workspace credentials](https://studio.zibby.dev/settings/workspace) or `zibby creds set`) and rolls the task with the new secret env. EFS data is preserved; the task restarts in ~30s.
79
-
80
- ## ENV vars
81
-
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
-
84
- Set via the dashboard (Apps → instance → ENV tab) or via CLI:
85
-
86
- ```bash
87
- zibby app env list a1b2c3d4
88
- zibby app env set a1b2c3d4 N8N_HOST=automations.acme.com
89
- zibby app env unset a1b2c3d4 OLD_FLAG
90
- ```
91
-
92
- Changes apply on the next task restart. Use `zibby app restart` to roll immediately.
93
-
94
- ## Resource overrides
95
-
96
- Default resources come from the catalog entry's tier. To bump CPU / memory for one instance:
97
-
98
- ```bash
99
- zibby app deploy grafana --project <id> --cpu 1024 --memory 2048 # 1 vCPU / 2 GB
100
- ```
101
-
102
- Per-instance overrides survive upgrades; the upgrade flow re-registers the task definition with the same override values unless `--reset-resources` is passed.
103
-
104
- ## Destroy
105
-
106
- ```bash
107
- zibby app destroy a1b2c3d4
108
- zibby app destroy a1b2c3d4 --yes # skip confirmation
109
- ```
110
-
111
- This:
112
-
113
- 1. Drains the ECS service (in-flight requests finish)
114
- 2. Deletes the service + task definition revision
115
- 3. Removes the ALB listener rule + target group
116
- 4. Releases the EFS access point — **destroys the volume data permanently**
117
- 5. Stops the billing meter immediately
118
-
119
- There's no soft-delete. If you might want the data later, snapshot it externally first (or wait for the pause-without-destroy feature on the roadmap).
120
-
121
- → Next: [Agent operator](./agent-ops)