---
description: Manage development servers (start, stop, attach, status)
allowed-tools: Bash(*/lib/dev-env.sh*)
argument-hint: [start [--windows] [--session] | stop | attach | status]
---

Manage development servers using tmux. Reads `serve:` config from `dev-env.yaml`.

**Subcommands:**
- `start` (default) - Start dev servers in tmux
- `stop` - Stop all dev servers
- `attach` - Reattach to existing tmux session
- `status` - Show server status and ports

**Start options:**
- `--windows` - One tmux window per process (default: panes in one window)
- `--session` - Create a new tmux session (default when not already in tmux)

When inside tmux, the default is to open servers in the current session. Combine flags for all four layouts:

| Flags | Behavior |
|-------|----------|
| *(none)* | New window with panes in current session |
| `--windows` | Separate window per process in current session |
| `--session` | New tmux session with panes |
| `--windows --session` | New tmux session with separate windows |

**Examples:**
- `/de:serve` - Start servers (default layout)
- `/de:serve start --windows` - One window per process
- `/de:serve start --session` - New session with panes
- `/de:serve stop` - Stop servers
- `/de:serve status` - Check status

**Run** (script is at the plugin root, two levels above this skill's base directory):
`!lib/dev-env.sh serve $ARGUMENTS`

After starting, tell the user:
1. The assigned ports (HTTPS, HTTP, Vite)
2. How to switch windows/panes in tmux
3. How to stop servers (`de serve stop`)
