@dedesfr/prompter 0.8.21 → 0.8.23
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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## [0.8.23] - 2026-05-08
|
|
4
|
+
|
|
5
|
+
### 🔄 Changed
|
|
6
|
+
- **project-orchestrator Skill**: Refined Caddy installation approach to host-based setup
|
|
7
|
+
- Changed from Docker-embedded or standalone host-level to direct OS installation via package manager
|
|
8
|
+
- Caddy installed directly on host via apt (Ubuntu/Debian) instead of running in Docker
|
|
9
|
+
- Rationale: avoids Docker network overhead, survives Docker daemon restarts, managed by systemd automatically
|
|
10
|
+
- Updated all Caddyfile paths to `/etc/caddy/Caddyfile`
|
|
11
|
+
- Changed reload command to `sudo systemctl reload caddy`
|
|
12
|
+
- Added detailed install commands for new Caddy installations (Cloudsmith repo setup)
|
|
13
|
+
- Updated VPS check to ask whether Caddy is "installed" (not just "running")
|
|
14
|
+
|
|
15
|
+
### ✨ Added
|
|
16
|
+
- **project-orchestrator Skill**: New Caddy VPS setup guide reference
|
|
17
|
+
- New `assets/caddy-vps-setup.md` with step-by-step installation instructions
|
|
18
|
+
- Covers SSH connection, apt installation, firewall setup, domain configuration
|
|
19
|
+
- Includes common troubleshooting for HTTPS, 502 errors, port conflicts
|
|
20
|
+
- Reference file can be shared with users unfamiliar with VPS operations
|
|
21
|
+
|
|
22
|
+
## [0.8.22] - 2026-05-08
|
|
23
|
+
|
|
24
|
+
### 🔄 Changed
|
|
25
|
+
- **project-orchestrator Skill**: Added VPS Caddy existence check to deployment guidance
|
|
26
|
+
- During Step 9 (Deployment), now asks whether Caddy is already running on the VPS
|
|
27
|
+
- If Yes: skip Caddy install, just add domain block to existing Caddyfile and run `caddy reload`
|
|
28
|
+
- If No: include full Caddy install and setup in recommended next steps
|
|
29
|
+
- Updated final plan summary to reflect appropriate Caddy setup based on existing infrastructure
|
|
30
|
+
|
|
3
31
|
## [0.8.21] - 2026-05-08
|
|
4
32
|
|
|
5
33
|
### 🔄 Changed
|
package/dist/cli/index.js
CHANGED
|
@@ -16,7 +16,7 @@ const program = new Command();
|
|
|
16
16
|
program
|
|
17
17
|
.name('prompter')
|
|
18
18
|
.description('Enhance prompts directly in your AI coding workflow')
|
|
19
|
-
.version('0.8.
|
|
19
|
+
.version('0.8.23');
|
|
20
20
|
program
|
|
21
21
|
.command('init')
|
|
22
22
|
.description('Initialize Prompter in your project')
|
package/package.json
CHANGED
|
@@ -305,13 +305,13 @@ When Docker is used and a web server or reverse proxy is needed (e.g., for Larav
|
|
|
305
305
|
- For local development, Caddy serves HTTP by default -- no certificate setup needed.
|
|
306
306
|
- Mention Caddy in the final plan summary under the Docker/web server row and in the recommended next steps.
|
|
307
307
|
|
|
308
|
-
**Always
|
|
308
|
+
**Always install Caddy directly on the host** (via the OS package manager) -- do NOT run Caddy inside Docker. Running Caddy on the host avoids Docker network overhead, survives Docker daemon restarts, and is managed by systemd automatically. Do NOT embed Caddy in any project's `docker-compose.yml`.
|
|
309
309
|
|
|
310
310
|
The correct setup:
|
|
311
311
|
|
|
312
|
-
1. **
|
|
312
|
+
1. **Caddy installed on the host** via `apt install caddy` (Ubuntu/Debian) or equivalent. Systemd manages it -- starts on boot, restarts on failure.
|
|
313
313
|
2. **Each project exposes only an internal port** (e.g., `3001`, `3002`) -- no `ports: - "80:80"` in their `docker-compose.yml`.
|
|
314
|
-
3. The host Caddyfile routes by domain:
|
|
314
|
+
3. The host Caddyfile (`/etc/caddy/Caddyfile`) routes by domain:
|
|
315
315
|
|
|
316
316
|
```caddy
|
|
317
317
|
project-a.com {
|
|
@@ -323,7 +323,20 @@ project-b.com {
|
|
|
323
323
|
}
|
|
324
324
|
```
|
|
325
325
|
|
|
326
|
-
|
|
326
|
+
4. After editing the Caddyfile, reload with `sudo systemctl reload caddy`.
|
|
327
|
+
|
|
328
|
+
During Step 9 (Deployment), ask whether Caddy is already installed on the VPS:
|
|
329
|
+
|
|
330
|
+
- **Yes** -- skip installing Caddy. Just add a new block to `/etc/caddy/Caddyfile` for the new domain, then run `sudo systemctl reload caddy`. Include only this step in the recommended next steps.
|
|
331
|
+
- **No** -- include the full Caddy install in the recommended next steps:
|
|
332
|
+
```bash
|
|
333
|
+
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
|
|
334
|
+
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
|
|
335
|
+
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
|
|
336
|
+
sudo apt update && sudo apt install caddy
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
Include the appropriate Caddy setup in the final plan summary and recommended next steps.
|
|
327
340
|
|
|
328
341
|
### Laravel + Docker Guidelines
|
|
329
342
|
|
|
@@ -471,3 +484,4 @@ If the user agrees, read `prompter/core/proposal.md` and `prompter/AGENTS.md` an
|
|
|
471
484
|
## Resources
|
|
472
485
|
|
|
473
486
|
- **Plan summary template**: [plan-summary-template.md](assets/plan-summary-template.md) -- Structured output format for the final verified plan
|
|
487
|
+
- **Caddy VPS setup guide**: [caddy-vps-setup.md](assets/caddy-vps-setup.md) -- Step-by-step guide for installing and managing Caddy on a VPS (share this with users who are unfamiliar with VPS operations)
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Caddy Setup on a VPS (Step-by-Step)
|
|
2
|
+
|
|
3
|
+
This guide walks you through installing and managing Caddy as a reverse proxy on a Ubuntu/Debian VPS. Caddy automatically handles HTTPS for all your domains — no manual SSL certificate setup needed.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
Before starting, make sure:
|
|
10
|
+
|
|
11
|
+
1. You have a VPS running **Ubuntu 22.04 or Debian 12** (or newer).
|
|
12
|
+
2. You have SSH access to the VPS as a user with `sudo` privileges.
|
|
13
|
+
3. Your domain's **A record points to your VPS IP address** (set this in your domain registrar's DNS panel). DNS changes can take up to 30 minutes to propagate.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Step 1: Connect to Your VPS
|
|
18
|
+
|
|
19
|
+
Open a terminal and connect via SSH:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
ssh your-user@your-vps-ip
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Step 2: Install Caddy
|
|
28
|
+
|
|
29
|
+
Run these commands one by one:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
|
|
33
|
+
|
|
34
|
+
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' \
|
|
35
|
+
| sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
|
|
36
|
+
|
|
37
|
+
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \
|
|
38
|
+
| sudo tee /etc/apt/sources.list.d/caddy-stable.list
|
|
39
|
+
|
|
40
|
+
sudo apt update && sudo apt install caddy
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Verify the install:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
caddy version
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
You should see a version number like `v2.x.x`.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Step 3: Check That Caddy Is Running
|
|
54
|
+
|
|
55
|
+
Caddy starts automatically after install. Confirm it's active:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
sudo systemctl status caddy
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Look for `Active: active (running)`. If it's not running, start it:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
sudo systemctl start caddy
|
|
65
|
+
sudo systemctl enable caddy # make it start on boot
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Step 4: Open Firewall Ports
|
|
71
|
+
|
|
72
|
+
Allow HTTP and HTTPS traffic:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
sudo ufw allow 80
|
|
76
|
+
sudo ufw allow 443
|
|
77
|
+
sudo ufw allow 22 # keep SSH open
|
|
78
|
+
sudo ufw enable
|
|
79
|
+
sudo ufw status
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Step 5: Configure Your First Domain
|
|
85
|
+
|
|
86
|
+
The Caddy config file lives at `/etc/caddy/Caddyfile`. Open it:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
sudo nano /etc/caddy/Caddyfile
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Replace the default content with:
|
|
93
|
+
|
|
94
|
+
```caddy
|
|
95
|
+
your-domain.com {
|
|
96
|
+
reverse_proxy localhost:3001
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
> Replace `your-domain.com` with your actual domain, and `3001` with the port your app is running on.
|
|
101
|
+
|
|
102
|
+
Save and close: press `Ctrl+X`, then `Y`, then `Enter`.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Step 6: Reload Caddy
|
|
107
|
+
|
|
108
|
+
Apply the new config without downtime:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
sudo systemctl reload caddy
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Caddy will automatically obtain an SSL certificate for your domain. Visit `https://your-domain.com` — it should work with HTTPS out of the box.
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Adding a New Project Later
|
|
119
|
+
|
|
120
|
+
When you deploy a new project on the same VPS, just add a new block to the Caddyfile:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
sudo nano /etc/caddy/Caddyfile
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Add below the existing block:
|
|
127
|
+
|
|
128
|
+
```caddy
|
|
129
|
+
your-domain.com {
|
|
130
|
+
reverse_proxy localhost:3001
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
another-project.com {
|
|
134
|
+
reverse_proxy localhost:3002
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Then reload:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
sudo systemctl reload caddy
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Each project gets its own SSL certificate automatically.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Common Commands
|
|
149
|
+
|
|
150
|
+
| Task | Command |
|
|
151
|
+
|------|---------|
|
|
152
|
+
| Check Caddy status | `sudo systemctl status caddy` |
|
|
153
|
+
| Reload after config change | `sudo systemctl reload caddy` |
|
|
154
|
+
| Restart Caddy | `sudo systemctl restart caddy` |
|
|
155
|
+
| View live logs | `sudo journalctl -u caddy -f` |
|
|
156
|
+
| Validate config before reload | `caddy validate --config /etc/caddy/Caddyfile` |
|
|
157
|
+
| View current config | `cat /etc/caddy/Caddyfile` |
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Troubleshooting
|
|
162
|
+
|
|
163
|
+
**HTTPS not working / certificate error**
|
|
164
|
+
- Check that your domain's A record points to the VPS IP: `dig your-domain.com`
|
|
165
|
+
- Make sure ports 80 and 443 are open: `sudo ufw status`
|
|
166
|
+
- Check Caddy logs for errors: `sudo journalctl -u caddy -f`
|
|
167
|
+
|
|
168
|
+
**502 Bad Gateway**
|
|
169
|
+
- Your app is not running or not listening on the expected port.
|
|
170
|
+
- Check that your Docker containers are up: `docker compose ps`
|
|
171
|
+
- Verify the port in your Caddyfile matches the port your app exposes.
|
|
172
|
+
|
|
173
|
+
**Port already in use**
|
|
174
|
+
- Another process (e.g., Apache or Nginx) may be using port 80/443.
|
|
175
|
+
- Check: `sudo ss -tlnp | grep -E ':80|:443'`
|
|
176
|
+
- Stop the conflicting service: `sudo systemctl stop nginx` or `sudo systemctl stop apache2`
|
|
177
|
+
|
|
178
|
+
**Config change not taking effect**
|
|
179
|
+
- Always run `sudo systemctl reload caddy` after editing the Caddyfile.
|
|
180
|
+
- Validate first to catch syntax errors: `caddy validate --config /etc/caddy/Caddyfile`
|