Skip to content

Commit a6bed91

Browse files
committed
Add Claude Code plugin guide
1 parent 51c3814 commit a6bed91

4 files changed

Lines changed: 195 additions & 4 deletions

File tree

docs/.vitepress/config.mts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,10 @@ export default withMermaid(
134134
text: "Tools",
135135
link: "/user-guide/tools",
136136
},
137+
{
138+
text: "Claude Code Plugin",
139+
link: "/user-guide/claude-plugin",
140+
},
137141
{
138142
text: "Migrating from other platforms",
139143
link: "/user-guide/migrating-from-other-platforms",

docs/user-guide/claude-plugin.md

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
---
2+
prev:
3+
text: Tools
4+
link: /user-guide/tools
5+
next:
6+
text: Migrating from other platforms
7+
link: /user-guide/migrating-from-other-platforms
8+
description: Deploy and manage Deploio apps using plain English in Claude Code. No CLI commands to memorise.
9+
---
10+
11+
# Claude Code Plugin
12+
13+
The **deploio-claude-plugin** lets you deploy and manage your apps on Deploio through plain-language prompts in [Claude Code](https://claude.ai/code). No need to memorise `nctl` commands. Just describe what you want and Claude handles the rest.
14+
15+
```
16+
Deploy my Rails app to Deploio
17+
```
18+
19+
```
20+
My app is throwing 503s, what's wrong?
21+
```
22+
23+
```
24+
Add a PostgreSQL database and wire it up
25+
```
26+
27+
Claude Code picks the right skill automatically, confirms its plan with you, and runs `nctl` on your behalf. Destructive operations always require explicit confirmation.
28+
29+
::: info Community tool
30+
This plugin is created and maintained by [Renuo](https://renuo.ch). Source code is available on [GitHub](https://github.com/renuo/deploio-claude-plugin).
31+
:::
32+
33+
## Prerequisites
34+
35+
1. **Claude Code** installed ([get it here](https://claude.ai/code))
36+
2. **nctl v1.16.0+** installed and authenticated:
37+
38+
```bash
39+
# macOS
40+
brew install ninech/tap/nctl
41+
42+
# Linux: download from https://github.com/ninech/nctl/releases/latest
43+
```
44+
45+
```bash
46+
nctl auth login # opens browser OAuth
47+
nctl auth whoami # verify access
48+
```
49+
50+
## Installation
51+
52+
Run this from your project directory (or anywhere for a global install):
53+
54+
```bash
55+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/renuo/deploio-claude-plugin/main/install.sh)"
56+
```
57+
58+
The installer asks whether to install **globally** (`~/.claude/`) or **per-project** (`./.claude/`). For non-interactive use:
59+
60+
```bash
61+
DEPLOIO_INSTALL_SCOPE=global /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/renuo/deploio-claude-plugin/main/install.sh)"
62+
# or
63+
DEPLOIO_INSTALL_SCOPE=project /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/renuo/deploio-claude-plugin/main/install.sh)"
64+
```
65+
66+
**To update:** re-run the same install command. It overwrites with the latest version.
67+
68+
**To uninstall:**
69+
70+
```bash
71+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/renuo/deploio-claude-plugin/main/uninstall.sh)"
72+
```
73+
74+
## Skills
75+
76+
The plugin installs five skills that Claude selects automatically from your prompt. You never need to invoke them by name.
77+
78+
| Skill | What it does | Example triggers |
79+
|---|---|---|
80+
| **deploio-deploy** | First-time deployment from a git repo to a live HTTPS URL | "Deploy my app", "Host on Deploio", "Create a Deploio app" |
81+
| **deploio-manage** | Day-to-day operations on running apps | "Scale to 3 replicas", "Add env var", "Tail the logs", "Roll back" |
82+
| **deploio-debug** | Autonomous diagnosis: pulls logs, inspects releases, proposes a fix | "App is throwing 503s", "Deploy failing", "Why is my app crashing?" |
83+
| **deploio-provision** | Provision backing services (databases, Redis, object storage) and wire them to your app | "Add Postgres", "I need Redis", "Set up S3 storage" |
84+
| **deploio-ci-cd** | Generate CI/CD pipeline config and a Deploio service account | "Set up GitHub Actions", "Auto-deploy on push", "Add a staging environment" |
85+
86+
### First deploy: `deploio-deploy`
87+
88+
Detects your framework automatically and configures sensible defaults. Presents a plan card before touching anything.
89+
90+
Supported frameworks: **Rails, Node.js, Django, Flask/FastAPI, PHP/Laravel, Go, Docker**
91+
92+
Example prompts:
93+
```
94+
Deploy my Rails app to Deploio
95+
Host my Next.js app on Deploio
96+
```
97+
98+
### Day-to-day management: `deploio-manage`
99+
100+
Covers everything once your app is running. Infers your app name and project from the git remote before asking.
101+
102+
```
103+
Scale my app to 3 replicas
104+
Add DATABASE_URL env var
105+
Tail the logs
106+
Open a Rails console
107+
Roll back to the last working version
108+
Add a Sidekiq worker
109+
Set up a custom domain
110+
Restart the app
111+
```
112+
113+
### Debugging: `deploio-debug`
114+
115+
Runs a parallel investigation across build logs, release history, and runtime stats without waiting for you to describe symptoms in detail. Reports a plain-language diagnosis and offers to apply the fix directly.
116+
117+
```
118+
My app keeps crashing after the latest deploy
119+
Getting 503 bad gateway errors
120+
Build is failing, what's wrong?
121+
App is using too much memory
122+
```
123+
124+
### Backing services: `deploio-provision`
125+
126+
Creates the service, extracts credentials, and injects the correct environment variables into your app. Verifies connectivity after wiring.
127+
128+
| Service | Injected env var(s) |
129+
|---|---|
130+
| PostgreSQL (Economy / Business) | `DATABASE_URL` |
131+
| MySQL (Economy / Business) | `DATABASE_URL` |
132+
| Redis-compatible KVS | `REDIS_URL` |
133+
| OpenSearch | `OPENSEARCH_URL` |
134+
| S3-compatible Object Storage | `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_REGION`, `S3_BUCKET`, `S3_ENDPOINT` |
135+
136+
```
137+
Add a PostgreSQL database and wire it up
138+
I need Redis for Sidekiq
139+
Set up S3-compatible object storage
140+
Add a Sidekiq worker
141+
```
142+
143+
### CI/CD pipeline: `deploio-ci-cd`
144+
145+
Creates a Deploio service account and writes the workflow file for your CI platform, then guides you through adding the three required secrets.
146+
147+
Supported platforms: **GitHub Actions, GitLab CI, CircleCI, Bitbucket Pipelines**, and any Debian/Ubuntu-based CI system.
148+
149+
Patterns available:
150+
- **Single environment:** push to `main` to deploy
151+
- **Multi-environment:** `develop` to staging, `main` to production
152+
- **Per-PR preview environments:** app created on PR open, deleted on PR close
153+
154+
```
155+
Set up GitHub Actions to auto-deploy on push to main
156+
Add a staging environment
157+
Create per-PR preview apps on Deploio
158+
```
159+
160+
## Slash commands
161+
162+
Two shortcut commands are available after installation:
163+
164+
| Command | Effect |
165+
|---|---|
166+
| `/deploy` | Triggers the deploy skill directly |
167+
| `/debug` | Triggers the debug skill directly |
168+
169+
## Safety
170+
171+
- **Confirmation before destructive actions:** deleting apps, databases, or storage; pausing an app; running destructive database tasks (`db:drop`, `db:reset`) all require explicit user confirmation.
172+
- **Plan before action:** every skill describes what it will do before running any `nctl` command.
173+
- **Least privilege:** the CI/CD service account is project-scoped with minimal permissions.

docs/user-guide/migrating-from-other-platforms.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
prev:
3-
text: Security
4-
link: /user-guide/security
3+
text: Claude Code Plugin
4+
link: /user-guide/claude-plugin
55
next: false
66
description: Migration guide for moving applications to Deploio from Heroku and other platforms including database exports, environment variables, DNS updates, and CI/CD adaptation.
77
---

docs/user-guide/tools.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ prev:
33
text: Troubleshooting
44
link: /user-guide/troubleshooting
55
next:
6-
text: Migrating from other platforms
7-
link: /user-guide/migrating-from-other-platforms
6+
text: Claude Code Plugin
7+
link: /user-guide/claude-plugin
88
---
99

1010
# Tools
@@ -60,3 +60,17 @@ CLI. By assuming an [app naming convention](https://github.com/renuo/deploio-cli
6060
automatically detect the app by matching your git remote URL against nctl apps. This might appeal to developers used to work with Heroku.
6161

6262
Note that this CLI is still in early development and not official.
63+
64+
### Claude Code Plugin
65+
66+
Also by [Renuo](https://renuo.ch), a [Claude Code](https://claude.ai/code) plugin that lets you deploy and manage
67+
Deploio apps using plain-language prompts instead of `nctl` commands.
68+
69+
```
70+
Deploy my Rails app to Deploio
71+
My app is throwing 503s, what's wrong?
72+
Add a PostgreSQL database and wire it up
73+
```
74+
75+
Five skills cover first-time deployments, day-to-day management, debugging, backing service provisioning, and CI/CD
76+
pipeline setup. See the [full guide](/user-guide/claude-plugin) for installation and usage.

0 commit comments

Comments
 (0)