getting-startedlisted
Install: claude install-skill Buywatermelon/tunpilot
# TunPilot Getting Started
Guide the user from zero to a fully connected TunPilot setup.
## Step 0: Detect User State
Ask the user what they need before jumping into deployment:
- **Already have a running TunPilot server?** → Skip to "Connect MCP"
- **Already connected but want to update?** → Skip to "Update"
- **Starting from scratch?** → Continue to "Deploy Server"
## Step 1: Deploy Server
### Prerequisites
1. **Ask the user for the target server** — SSH destination (e.g. `root@1.2.3.4` or an alias from `~/.ssh/config`). Must be Linux with root access.
2. **Test SSH connectivity** — the agent cannot enter passwords interactively:
```bash
ssh <server> "echo ok"
```
If this fails, stop and tell the user to set up SSH key-based login first.
3. **Check firewall** — ensure port 3000 is open:
```bash
ssh <server> "command -v ufw && ufw allow 3000/tcp || command -v firewall-cmd && firewall-cmd --add-port=3000/tcp --permanent && firewall-cmd --reload || echo 'no firewall detected'"
```
### Deploy
Run the one-command deploy script:
```bash
ssh <server> "curl -fsSL https://raw.githubusercontent.com/Buywatermelon/tunpilot/main/scripts/deploy.sh | bash"
```
The script automatically:
1. Installs Bun (if not present)
2. Clones/updates the repo to `/opt/tunpilot`
3. Installs dependencies
4. Generates `MCP_AUTH_TOKEN` and creates `.env`
5. Creates and starts a systemd service
6. Prints the `claude mcp add` command — **capture this output**
### Verify depl