@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.21');
19
+ .version('0.8.23');
20
20
  program
21
21
  .command('init')
22
22
  .description('Initialize Prompter in your project')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dedesfr/prompter",
3
- "version": "0.8.21",
3
+ "version": "0.8.23",
4
4
  "description": "Enhance prompts directly in your AI coding workflow",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -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 use a standalone host-level Caddy** -- do NOT embed Caddy inside a project's `docker-compose.yml`. Even for a single project today, users commonly add more projects later, and a per-project Caddy would conflict on ports 80/443.
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. **One standalone Caddy on the host** (installed directly or in its own `docker-compose.yml` folder) owns ports 80/443 and terminates TLS for all domains.
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
- Include this setup in the final plan summary and recommended next steps.
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`
package/src/cli/index.ts CHANGED
@@ -18,7 +18,7 @@ const program = new Command();
18
18
  program
19
19
  .name('prompter')
20
20
  .description('Enhance prompts directly in your AI coding workflow')
21
- .version('0.8.21');
21
+ .version('0.8.23');
22
22
 
23
23
  program
24
24
  .command('init')