gg-deploy 2.1.0 → 2.5.0
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/README.md +179 -16
- package/dist/cli.js +143 -28
- package/dist/cli.js.map +1 -1
- package/dist/commands/apply.d.ts.map +1 -1
- package/dist/commands/apply.js +4 -0
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/forget.d.ts +3 -0
- package/dist/commands/forget.d.ts.map +1 -0
- package/dist/commands/forget.js +65 -0
- package/dist/commands/forget.js.map +1 -0
- package/dist/commands/list.d.ts +3 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +50 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/push.d.ts +3 -0
- package/dist/commands/push.d.ts.map +1 -0
- package/dist/commands/push.js +143 -0
- package/dist/commands/push.js.map +1 -0
- package/dist/config.d.ts +15 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +104 -0
- package/dist/config.js.map +1 -1
- package/dist/lib/update-checker.d.ts +1 -1
- package/dist/lib/update-checker.js +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +54 -6
- package/dist/mcp-server.js.map +1 -1
- package/dist/services/github-files.d.ts +25 -0
- package/dist/services/github-files.d.ts.map +1 -0
- package/dist/services/github-files.js +297 -0
- package/dist/services/github-files.js.map +1 -0
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui-server.js +1 -1
- package/dist/ui-server.js.map +1 -1
- package/package.json +14 -4
- package/ui/dist/assets/index-CRgid6OM.js +41 -0
- package/ui/dist/assets/index-DCoiogDt 2.css +1 -0
- package/ui/dist/assets/index-DCoiogDt.css +1 -0
- package/ui/dist/index 2.html +16 -0
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
<img src="img/Banner.png" alt="GG Deploy Banner" width="100%">
|
|
3
|
-
</p>
|
|
1
|
+

|
|
4
2
|
|
|
5
3
|
# gg-deploy
|
|
6
4
|
|
|
7
5
|
**Free hosting deserves free tooling. Domain → GitHub Pages in 60 seconds.**
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
gg-deploy is my latest: domain deployment automated, built in a weekend, open source, free forever. It's not going to save the world, but it might save you an hour of DNS configuration.
|
|
8
|
+
|
|
9
|
+
**One command. One click. One prompt.** Works via CLI, desktop app, web UI, or AI assistant (MCP).
|
|
10
10
|
|
|
11
11
|
## Quick Start
|
|
12
12
|
|
|
@@ -22,6 +22,64 @@ npx gg-deploy apply example.com user/repo # Deploy
|
|
|
22
22
|
npx gg-deploy status example.com user/repo # Health check
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
+
## Why I Built This
|
|
26
|
+
|
|
27
|
+
GitHub Pages is free. Domain registration is cheap. But connecting them? That's still 15 minutes of DNS googling, A-record guessing, and "did I break my email forwarding again?" anxiety.
|
|
28
|
+
|
|
29
|
+
I wanted deployment to be as fast as the hosting is free (for public repos). So I built gg-deploy over a weekend; a CLI for power users, web UI for everyone else, MCP for AI agents, and desktop apps because why not.
|
|
30
|
+
|
|
31
|
+
**AGPL-licensed** because good tools should stay free.
|
|
32
|
+
|
|
33
|
+
## Screenshots
|
|
34
|
+
|
|
35
|
+
### CLI
|
|
36
|
+

|
|
37
|
+

|
|
38
|
+

|
|
39
|
+
|
|
40
|
+
### Desktop App
|
|
41
|
+

|
|
42
|
+

|
|
43
|
+
|
|
44
|
+
### Web UI
|
|
45
|
+

|
|
46
|
+

|
|
47
|
+
|
|
48
|
+
## Desktop App
|
|
49
|
+
|
|
50
|
+
Download from [GitHub Releases](https://github.com/abe238/gg-deploy/releases):
|
|
51
|
+
- **macOS**: `.dmg` (Apple Silicon or Intel)
|
|
52
|
+
- **Windows**: `.msi` installer
|
|
53
|
+
- **Linux**: `.AppImage` or `.deb`
|
|
54
|
+
|
|
55
|
+
### macOS First Run
|
|
56
|
+
|
|
57
|
+
The app isn't signed with an Apple certificate. On first launch:
|
|
58
|
+
|
|
59
|
+
**Option 1: Right-click method**
|
|
60
|
+
1. Right-click (or Control+click) on GG Deploy
|
|
61
|
+
2. Click "Open" from the menu
|
|
62
|
+
3. Click "Open" in the dialog
|
|
63
|
+
|
|
64
|
+
**Option 2: Terminal (one command)**
|
|
65
|
+
```bash
|
|
66
|
+
xattr -cr "/Applications/GG Deploy.app"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
This is a one-time step—the app runs normally after.
|
|
70
|
+
|
|
71
|
+
### Windows First Run
|
|
72
|
+
|
|
73
|
+
Click **More info** → **Run anyway** on the SmartScreen prompt.
|
|
74
|
+
|
|
75
|
+
### Linux
|
|
76
|
+
|
|
77
|
+
Make executable and run:
|
|
78
|
+
```bash
|
|
79
|
+
chmod +x GG.Deploy_*.AppImage
|
|
80
|
+
./GG.Deploy_*.AppImage
|
|
81
|
+
```
|
|
82
|
+
|
|
25
83
|
## Requirements
|
|
26
84
|
|
|
27
85
|
- **Node.js 18+** — Check with `node --version`
|
|
@@ -174,20 +232,83 @@ Hover over badges for detailed status. Click the refresh button to re-test conne
|
|
|
174
232
|
|
|
175
233
|
## CLI Commands
|
|
176
234
|
|
|
177
|
-
| Command | Description | Safe |
|
|
178
|
-
|
|
179
|
-
| `plan <domain> <repo>` | Preview changes | Yes |
|
|
180
|
-
| `apply <domain> <repo>` | Execute deployment | No |
|
|
181
|
-
| `status <domain> <repo>` | Check health | Yes |
|
|
182
|
-
| `
|
|
183
|
-
| `
|
|
184
|
-
| `
|
|
235
|
+
| Command | Description | Safe | Git Required |
|
|
236
|
+
|---------|-------------|------|--------------|
|
|
237
|
+
| `plan <domain> <repo>` | Preview changes | Yes | No |
|
|
238
|
+
| `apply <domain> <repo>` | Execute deployment | No | No |
|
|
239
|
+
| `status <domain> <repo>` | Check health | Yes | No |
|
|
240
|
+
| `list` | Show all tracked deployments | Yes | No |
|
|
241
|
+
| `push [domain] [message]` | Upload local file changes | No | **No** |
|
|
242
|
+
| `forget <domain>` | Remove from tracking | Yes | No |
|
|
243
|
+
| `ui` | Launch web interface | Yes | No |
|
|
244
|
+
| `mcp-serve` | Start MCP server | Yes | No |
|
|
245
|
+
| `update` | Check for updates | Yes | No |
|
|
246
|
+
| `describe` | Output AI-friendly tool schema | Yes | No |
|
|
185
247
|
|
|
186
248
|
Add `--output json` for machine-readable output.
|
|
187
249
|
|
|
188
|
-
|
|
250
|
+
### Git-Free File Updates
|
|
251
|
+
|
|
252
|
+
The `push` command uploads your local files directly to GitHub via API—no git knowledge required:
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
# From your project directory (auto-detects deployment)
|
|
256
|
+
gg-deploy push "Updated homepage"
|
|
257
|
+
|
|
258
|
+
# Or specify the domain explicitly
|
|
259
|
+
gg-deploy push myblog.com "Fixed typo in about page"
|
|
260
|
+
```
|
|
189
261
|
|
|
190
|
-
|
|
262
|
+
**How it works:**
|
|
263
|
+
1. Scans your local directory for changed files
|
|
264
|
+
2. Compares SHA hashes with GitHub
|
|
265
|
+
3. Uploads only changed files via GitHub Contents API
|
|
266
|
+
4. Files >1MB use Git Data API for reliability
|
|
267
|
+
5. Files >100MB are skipped (GitHub limit)
|
|
268
|
+
|
|
269
|
+
**Respects `.gitignore` and `.gg-ignore`** — node_modules, .env, and other patterns are automatically excluded.
|
|
270
|
+
|
|
271
|
+
### Deployment Tracking
|
|
272
|
+
|
|
273
|
+
After `apply` succeeds, gg-deploy remembers your deployment:
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
# List all tracked deployments
|
|
277
|
+
gg-deploy list
|
|
278
|
+
|
|
279
|
+
# Output:
|
|
280
|
+
# ╭─ Tracked Deployments ─────────────────────────────────────╮
|
|
281
|
+
# │ myblog.com → user/blog │
|
|
282
|
+
# │ └─ /Users/me/projects/myblog │
|
|
283
|
+
# │ Last activity: 2 hours ago │
|
|
284
|
+
# ╰───────────────────────────────────────────────────────────╯
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
To stop tracking (doesn't affect live site):
|
|
288
|
+
```bash
|
|
289
|
+
gg-deploy forget myblog.com
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
**Note:** `forget` only removes local tracking. Your DNS records and GitHub Pages remain active. See the output for cleanup instructions.
|
|
293
|
+
|
|
294
|
+
## AI Agent Integration (MCP)
|
|
295
|
+
|
|
296
|
+
gg-deploy includes a full MCP (Model Context Protocol) server, enabling AI assistants to deploy and manage sites directly.
|
|
297
|
+
|
|
298
|
+
**Compatible with:**
|
|
299
|
+
- Claude Desktop
|
|
300
|
+
- Claude Code
|
|
301
|
+
- Cursor
|
|
302
|
+
- Windsurf
|
|
303
|
+
- N8N (workflow automation)
|
|
304
|
+
- Any MCP-compatible client
|
|
305
|
+
|
|
306
|
+
### Setup
|
|
307
|
+
|
|
308
|
+
**Claude Desktop / Claude Code** — Add to config:
|
|
309
|
+
|
|
310
|
+
macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
311
|
+
Windows: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
191
312
|
|
|
192
313
|
```json
|
|
193
314
|
{
|
|
@@ -200,7 +321,34 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
|
|
|
200
321
|
}
|
|
201
322
|
```
|
|
202
323
|
|
|
203
|
-
|
|
324
|
+
**Cursor / Windsurf** — Add to MCP settings with the same configuration.
|
|
325
|
+
|
|
326
|
+
**N8N** — Use the MCP node with command: `npx -y gg-deploy mcp-serve`
|
|
327
|
+
|
|
328
|
+
### Available MCP Tools
|
|
329
|
+
|
|
330
|
+
| Tool | Description | Safe |
|
|
331
|
+
|------|-------------|------|
|
|
332
|
+
| `deploy_site_plan` | Preview deployment changes | Yes |
|
|
333
|
+
| `deploy_site_apply` | Execute DNS + GitHub Pages deployment | No |
|
|
334
|
+
| `deploy_site_status` | Check deployment health | Yes |
|
|
335
|
+
| `list_deployments` | List all tracked deployments | Yes |
|
|
336
|
+
| `push_changes` | Upload local file changes | No |
|
|
337
|
+
|
|
338
|
+
### Example Prompts
|
|
339
|
+
|
|
340
|
+
- "Deploy myblog.com to user/repo"
|
|
341
|
+
- "Check the status of example.com"
|
|
342
|
+
- "What deployments do I have?"
|
|
343
|
+
- "Push my latest changes to the blog"
|
|
344
|
+
|
|
345
|
+
### AI Discovery
|
|
346
|
+
|
|
347
|
+
Run `gg-deploy describe` to get a comprehensive JSON schema with:
|
|
348
|
+
- Command descriptions and intents
|
|
349
|
+
- Example inputs and outputs
|
|
350
|
+
- Safety indicators (safe/requires confirmation)
|
|
351
|
+
- Recommended usage flows
|
|
204
352
|
|
|
205
353
|
## Troubleshooting
|
|
206
354
|
|
|
@@ -324,4 +472,19 @@ AGPL-3.0 — Free to use, modify, and distribute. Forks must remain open source.
|
|
|
324
472
|
|
|
325
473
|
---
|
|
326
474
|
|
|
327
|
-
|
|
475
|
+
## About the Builder
|
|
476
|
+
|
|
477
|
+
Hola. I'm **[Abe Diaz](https://abediaz.ai)**. By day, I'm Sr. Manager of Disaster Relief at Amazon, leading a team that uses AI and logistics to deliver 26+ million relief items and response technology across 200+ disasters worldwide. On weekends, I build artisanal developer tools like this :-P
|
|
478
|
+
|
|
479
|
+
- 💼 [linkedin.com/in/abediaz](https://linkedin.com/in/abediaz)
|
|
480
|
+
- 🌐 [abediaz.ai](https://abediaz.ai)
|
|
481
|
+
- 🐙 [github.com/abe238](https://github.com/abe238)
|
|
482
|
+
- 🐦 [@abe238](https://twitter.com/abe238)
|
|
483
|
+
|
|
484
|
+
### Other Open Source Projects
|
|
485
|
+
|
|
486
|
+
| Project | Description |
|
|
487
|
+
|---------|-------------|
|
|
488
|
+
| [gemini-deep-research](https://github.com/abe238/gemini-deep-research) | CLI for Gemini's Deep Research Agent |
|
|
489
|
+
| [aipm-resume-analyzer](https://github.com/abe238/aipm-resume-analyzer) | Resume analysis against AI PM frameworks |
|
|
490
|
+
| [project-kickoff](https://github.com/abe238/project-kickoff) | Scaffold AI production-ready projects |
|
package/dist/cli.js
CHANGED
|
@@ -4,6 +4,9 @@ import { Command } from 'commander';
|
|
|
4
4
|
import { planCommand } from './commands/plan.js';
|
|
5
5
|
import { applyCommand } from './commands/apply.js';
|
|
6
6
|
import { statusCommand } from './commands/status.js';
|
|
7
|
+
import { listCommand } from './commands/list.js';
|
|
8
|
+
import { pushCommand } from './commands/push.js';
|
|
9
|
+
import { forgetCommand } from './commands/forget.js';
|
|
7
10
|
import { updateCommand } from './commands/update.js';
|
|
8
11
|
import { startMcpServer } from './mcp-server.js';
|
|
9
12
|
import { startUiServer } from './ui-server.js';
|
|
@@ -54,71 +57,183 @@ program
|
|
|
54
57
|
await checkAndNotify();
|
|
55
58
|
process.exit(result.status === 'success' ? 0 : 1);
|
|
56
59
|
});
|
|
60
|
+
program
|
|
61
|
+
.command('list')
|
|
62
|
+
.description('List all tracked deployments')
|
|
63
|
+
.option('-o, --output <format>', 'Output format: human or json', 'human')
|
|
64
|
+
.action(async (opts) => {
|
|
65
|
+
const output = opts.output;
|
|
66
|
+
await listCommand(output);
|
|
67
|
+
if (output === 'human')
|
|
68
|
+
await checkAndNotify();
|
|
69
|
+
});
|
|
70
|
+
program
|
|
71
|
+
.command('push')
|
|
72
|
+
.description('Push local file changes to a tracked deployment (git-free)')
|
|
73
|
+
.argument('[domain]', 'Domain to push to (auto-detects from current directory)')
|
|
74
|
+
.argument('[message]', 'Commit message', 'GitHub Pages Push by gg-deploy')
|
|
75
|
+
.option('-o, --output <format>', 'Output format: human or json', 'human')
|
|
76
|
+
.action(async (domain, message, opts) => {
|
|
77
|
+
const output = opts.output;
|
|
78
|
+
const result = await pushCommand(domain, message, output);
|
|
79
|
+
if (output === 'human')
|
|
80
|
+
await checkAndNotify();
|
|
81
|
+
process.exit(result.success ? 0 : 1);
|
|
82
|
+
});
|
|
83
|
+
program
|
|
84
|
+
.command('forget')
|
|
85
|
+
.description('Remove a deployment from tracking (does not affect live site)')
|
|
86
|
+
.argument('<domain>', 'Domain to forget')
|
|
87
|
+
.option('-o, --output <format>', 'Output format: human or json', 'human')
|
|
88
|
+
.action(async (domain, opts) => {
|
|
89
|
+
const output = opts.output;
|
|
90
|
+
const result = await forgetCommand(domain, output);
|
|
91
|
+
if (output === 'human')
|
|
92
|
+
await checkAndNotify();
|
|
93
|
+
process.exit(result.status === 'success' ? 0 : 1);
|
|
94
|
+
});
|
|
57
95
|
program
|
|
58
96
|
.command('describe')
|
|
59
97
|
.description('Output tool description for AI agent discovery')
|
|
60
98
|
.action(() => {
|
|
61
99
|
const description = {
|
|
100
|
+
schema_version: '1.0',
|
|
62
101
|
name: 'gg-deploy',
|
|
63
102
|
version: CURRENT_VERSION,
|
|
64
|
-
description: 'Deploy any domain to GitHub Pages in one command. Supports GoDaddy, Cloudflare, and Namecheap DNS providers.',
|
|
103
|
+
description: 'Deploy any domain to GitHub Pages in one command. Zero git knowledge required. Supports GoDaddy, Cloudflare, and Namecheap DNS providers.',
|
|
104
|
+
homepage: 'https://github.com/abe238/gg-deploy',
|
|
105
|
+
capabilities: [
|
|
106
|
+
'Deploy custom domains to GitHub Pages',
|
|
107
|
+
'Configure DNS records automatically',
|
|
108
|
+
'Push file updates without git',
|
|
109
|
+
'Track deployment history',
|
|
110
|
+
'Check deployment health and SSL status',
|
|
111
|
+
],
|
|
112
|
+
ai_guidance: {
|
|
113
|
+
when_to_use: 'User wants to deploy a website to GitHub Pages with a custom domain, or update an existing deployment',
|
|
114
|
+
prerequisites: 'DNS provider credentials (GoDaddy/Cloudflare/Namecheap) and GitHub access configured',
|
|
115
|
+
recommended_flow: [
|
|
116
|
+
'1. Run "plan" to preview changes (safe, read-only)',
|
|
117
|
+
'2. Run "apply" to deploy (creates DNS records + enables GitHub Pages)',
|
|
118
|
+
'3. Run "push" to update files (git-free file sync)',
|
|
119
|
+
'4. Run "status" to verify health',
|
|
120
|
+
],
|
|
121
|
+
user_intents: {
|
|
122
|
+
'deploy a website': 'Use plan → apply',
|
|
123
|
+
'update my site': 'Use push',
|
|
124
|
+
'check if site is working': 'Use status',
|
|
125
|
+
'see my deployments': 'Use list',
|
|
126
|
+
'stop tracking a site': 'Use forget (note: does not delete DNS or GitHub Pages)',
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
mcp_integration: {
|
|
130
|
+
server_command: 'gg-deploy mcp-serve',
|
|
131
|
+
compatible_clients: ['Claude Desktop', 'Claude Code', 'Cursor', 'Windsurf', 'N8N', 'any MCP-compatible agent'],
|
|
132
|
+
tools: [
|
|
133
|
+
{ cli: 'plan', mcp: 'deploy_site_plan' },
|
|
134
|
+
{ cli: 'apply', mcp: 'deploy_site_apply' },
|
|
135
|
+
{ cli: 'status', mcp: 'deploy_site_status' },
|
|
136
|
+
{ cli: 'list', mcp: 'list_deployments' },
|
|
137
|
+
{ cli: 'push', mcp: 'push_changes' },
|
|
138
|
+
],
|
|
139
|
+
},
|
|
65
140
|
commands: [
|
|
66
141
|
{
|
|
67
142
|
name: 'plan',
|
|
68
|
-
description: 'Preview deployment without making changes',
|
|
143
|
+
description: 'Preview deployment without making changes. Validates API keys, checks domain ownership, and shows planned DNS/GitHub changes.',
|
|
144
|
+
intent: 'User wants to see what will happen before deploying',
|
|
69
145
|
safe: true,
|
|
70
146
|
arguments: [
|
|
71
|
-
{ name: 'domain', required: true, description: 'Domain name' },
|
|
72
|
-
{ name: 'repo', required: true, description: 'GitHub repo (user/repo)' },
|
|
73
|
-
],
|
|
74
|
-
options: [
|
|
75
|
-
{ name: '--output', values: ['human', 'json'], default: 'human' },
|
|
147
|
+
{ name: 'domain', required: true, description: 'Domain name (e.g., example.com)', type: 'string' },
|
|
148
|
+
{ name: 'repo', required: true, description: 'GitHub repo (e.g., user/repo)', type: 'string' },
|
|
76
149
|
],
|
|
77
|
-
|
|
150
|
+
options: [{ name: '--output', values: ['human', 'json'], default: 'human' }],
|
|
151
|
+
example_input: 'gg-deploy plan myblog.com user/blog --output json',
|
|
152
|
+
example_output: '{"status":"success","plan":{"dns_changes":[...],"github_changes":[...]}}',
|
|
78
153
|
},
|
|
79
154
|
{
|
|
80
155
|
name: 'apply',
|
|
81
|
-
description: 'Execute deployment',
|
|
156
|
+
description: 'Execute deployment. Creates DNS A records + CNAME, adds CNAME file to repo, enables GitHub Pages with custom domain.',
|
|
157
|
+
intent: 'User wants to deploy their site to production',
|
|
82
158
|
safe: false,
|
|
83
159
|
requires_confirmation: true,
|
|
84
|
-
side_effects: ['Creates
|
|
160
|
+
side_effects: ['Creates 4 A records + 1 CNAME in DNS', 'Creates CNAME file in GitHub repo', 'Enables GitHub Pages', 'Saves deployment to local history'],
|
|
85
161
|
rollback_available: true,
|
|
86
162
|
arguments: [
|
|
87
|
-
{ name: 'domain', required: true },
|
|
88
|
-
{ name: 'repo', required: true },
|
|
163
|
+
{ name: 'domain', required: true, description: 'Domain name', type: 'string' },
|
|
164
|
+
{ name: 'repo', required: true, description: 'GitHub repo', type: 'string' },
|
|
89
165
|
],
|
|
90
|
-
options: [
|
|
91
|
-
|
|
92
|
-
],
|
|
93
|
-
example: 'gg-deploy apply example.com user/example --output json',
|
|
166
|
+
options: [{ name: '--output', values: ['human', 'json'], default: 'human' }],
|
|
167
|
+
example_input: 'gg-deploy apply myblog.com user/blog --output json',
|
|
168
|
+
example_output: '{"status":"success","completed_steps":["verify_domain","verify_repo","configure_dns","add_cname","enable_pages","set_custom_domain","save_deployment"]}',
|
|
94
169
|
},
|
|
95
170
|
{
|
|
96
171
|
name: 'status',
|
|
97
|
-
description: 'Check deployment health',
|
|
172
|
+
description: 'Check deployment health including DNS propagation, GitHub Pages status, and SSL certificate state.',
|
|
173
|
+
intent: 'User wants to verify their site is working correctly',
|
|
174
|
+
safe: true,
|
|
175
|
+
arguments: [
|
|
176
|
+
{ name: 'domain', required: true, type: 'string' },
|
|
177
|
+
{ name: 'repo', required: true, type: 'string' },
|
|
178
|
+
],
|
|
179
|
+
options: [{ name: '--output', values: ['human', 'json'], default: 'human' }],
|
|
180
|
+
example_input: 'gg-deploy status myblog.com user/blog --output json',
|
|
181
|
+
example_output: '{"domain":"myblog.com","dns_configured":true,"github_pages_enabled":true,"ssl_status":"active","health":"healthy"}',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
name: 'list',
|
|
185
|
+
description: 'Show all tracked deployments with their domains, repos, local paths, and last activity timestamps.',
|
|
186
|
+
intent: 'User wants to see what sites they have deployed',
|
|
98
187
|
safe: true,
|
|
188
|
+
arguments: [],
|
|
189
|
+
options: [{ name: '--output', values: ['human', 'json'], default: 'human' }],
|
|
190
|
+
example_input: 'gg-deploy list --output json',
|
|
191
|
+
example_output: '[{"domain":"myblog.com","repo":"user/blog","localPath":"/Users/me/blog","lastActivity":"2025-12-27T10:00:00Z"}]',
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
name: 'push',
|
|
195
|
+
description: 'Upload local file changes to GitHub. Git-free: uses GitHub API directly. Auto-detects deployment from current directory.',
|
|
196
|
+
intent: 'User edited local HTML/CSS files and wants to update their live site',
|
|
197
|
+
safe: false,
|
|
198
|
+
requires_confirmation: false,
|
|
199
|
+
side_effects: ['Commits changed files to GitHub repository via API'],
|
|
200
|
+
rollback_available: false,
|
|
99
201
|
arguments: [
|
|
100
|
-
{ name: 'domain', required:
|
|
101
|
-
{ name: '
|
|
202
|
+
{ name: 'domain', required: false, description: 'Domain (optional, auto-detects from cwd)', type: 'string' },
|
|
203
|
+
{ name: 'message', required: false, description: 'Commit message', type: 'string', default: 'GitHub Pages Push by gg-deploy' },
|
|
102
204
|
],
|
|
103
|
-
options: [
|
|
104
|
-
|
|
205
|
+
options: [{ name: '--output', values: ['human', 'json'], default: 'human' }],
|
|
206
|
+
example_input: 'gg-deploy push "Updated homepage"',
|
|
207
|
+
example_output: '{"success":true,"filesChanged":[{"path":"index.html","action":"update"}]}',
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
name: 'forget',
|
|
211
|
+
description: 'Remove deployment from local tracking. WARNING: Does NOT delete DNS records or disable GitHub Pages - site remains live.',
|
|
212
|
+
intent: 'User wants to stop tracking a deployment locally',
|
|
213
|
+
safe: true,
|
|
214
|
+
warning: 'This only removes local tracking. To fully decommission, user must manually delete DNS records and disable GitHub Pages.',
|
|
215
|
+
arguments: [
|
|
216
|
+
{ name: 'domain', required: true, description: 'Domain to forget', type: 'string' },
|
|
105
217
|
],
|
|
106
|
-
|
|
218
|
+
options: [{ name: '--output', values: ['human', 'json'], default: 'human' }],
|
|
219
|
+
example_input: 'gg-deploy forget myblog.com',
|
|
220
|
+
example_output: '{"status":"success","completed_steps":["remove_deployment"]}',
|
|
107
221
|
},
|
|
108
222
|
],
|
|
109
223
|
exit_codes: {
|
|
110
|
-
0: 'success',
|
|
111
|
-
1: 'validation_error',
|
|
112
|
-
2: 'partial_success',
|
|
113
|
-
3: 'failure',
|
|
114
|
-
4: 'rollback_needed',
|
|
224
|
+
0: 'success - operation completed successfully',
|
|
225
|
+
1: 'validation_error - invalid input or configuration',
|
|
226
|
+
2: 'partial_success - some steps completed, others failed',
|
|
227
|
+
3: 'failure - operation failed completely',
|
|
228
|
+
4: 'rollback_needed - manual intervention required',
|
|
115
229
|
},
|
|
230
|
+
domain_normalization: 'Accepts domains with/without http(s)://, www., trailing slashes. Examples: "https://www.example.com/" → "example.com"',
|
|
116
231
|
};
|
|
117
232
|
console.log(JSON.stringify(description, null, 2));
|
|
118
233
|
});
|
|
119
234
|
program
|
|
120
235
|
.command('mcp-serve')
|
|
121
|
-
.description('Start MCP server for Claude Desktop
|
|
236
|
+
.description('Start MCP server for AI agent integration (Claude Desktop, Claude Code, Cursor, Windsurf, N8N, and any MCP-compatible client)')
|
|
122
237
|
.action(async () => {
|
|
123
238
|
await startMcpServer();
|
|
124
239
|
});
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAM/D,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,aAAa,CAAC,CAgGxB"}
|
package/dist/commands/apply.js
CHANGED
|
@@ -3,6 +3,7 @@ import ora from 'ora';
|
|
|
3
3
|
import { DNSProviderError } from '../types.js';
|
|
4
4
|
import { DNSProviderFactory } from '../services/dns-factory.js';
|
|
5
5
|
import { GitHubService } from '../services/github.js';
|
|
6
|
+
import { addDeployment } from '../config.js';
|
|
6
7
|
export async function applyCommand(domain, repo, output) {
|
|
7
8
|
const result = {
|
|
8
9
|
status: 'success',
|
|
@@ -54,6 +55,9 @@ export async function applyCommand(domain, repo, output) {
|
|
|
54
55
|
await github.setCustomDomain(repo, domain);
|
|
55
56
|
spinner?.succeed('Custom domain set');
|
|
56
57
|
result.completed_steps.push('set_custom_domain');
|
|
58
|
+
// Save deployment for future reference (push/list commands)
|
|
59
|
+
addDeployment(domain, repo, process.cwd(), dns.name);
|
|
60
|
+
result.completed_steps.push('save_deployment');
|
|
57
61
|
log('');
|
|
58
62
|
log(chalk.green('=== Deployment Complete ==='));
|
|
59
63
|
log('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forget.d.ts","sourceRoot":"","sources":["../../src/commands/forget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/D,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,aAAa,CAAC,CAmExB"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { removeDeployment, getDeployment } from '../config.js';
|
|
3
|
+
export async function forgetCommand(domain, output) {
|
|
4
|
+
const result = {
|
|
5
|
+
status: 'success',
|
|
6
|
+
completed_steps: [],
|
|
7
|
+
failed_steps: [],
|
|
8
|
+
resources_created: [],
|
|
9
|
+
resources_modified: [],
|
|
10
|
+
next_action: null,
|
|
11
|
+
estimated_wait_seconds: null,
|
|
12
|
+
rollback_available: false,
|
|
13
|
+
};
|
|
14
|
+
const log = (msg) => output === 'human' && console.log(msg);
|
|
15
|
+
const deployment = getDeployment(domain);
|
|
16
|
+
if (!deployment) {
|
|
17
|
+
result.status = 'failure';
|
|
18
|
+
result.failed_steps.push({
|
|
19
|
+
step: 'find_deployment',
|
|
20
|
+
error: `No tracked deployment found for: ${domain}`,
|
|
21
|
+
retriable: false,
|
|
22
|
+
});
|
|
23
|
+
log(chalk.red(`\nError: No tracked deployment found for: ${domain}`));
|
|
24
|
+
log(chalk.dim('Run `gg-deploy list` to see tracked deployments.\n'));
|
|
25
|
+
if (output === 'json') {
|
|
26
|
+
console.log(JSON.stringify(result, null, 2));
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
const removed = removeDeployment(domain);
|
|
31
|
+
if (removed) {
|
|
32
|
+
result.completed_steps.push('remove_deployment');
|
|
33
|
+
result.resources_modified.push(`Removed tracking for ${domain}`);
|
|
34
|
+
log('');
|
|
35
|
+
log(chalk.green('✓') + ` Removed ${chalk.bold(domain)} from tracked deployments`);
|
|
36
|
+
log('');
|
|
37
|
+
log(chalk.yellow('⚠ Important: This only removes local tracking.'));
|
|
38
|
+
log('');
|
|
39
|
+
log(chalk.white('Your site is still live! To fully decommission:'));
|
|
40
|
+
log('');
|
|
41
|
+
log(chalk.dim(' 1. Delete DNS records at your provider:'));
|
|
42
|
+
log(chalk.dim(' - 4 A records pointing to 185.199.108-111.153'));
|
|
43
|
+
log(chalk.dim(' - CNAME record for www'));
|
|
44
|
+
log('');
|
|
45
|
+
log(chalk.dim(' 2. Disable GitHub Pages:'));
|
|
46
|
+
log(chalk.dim(' - Go to repo Settings → Pages → Source: None'));
|
|
47
|
+
log('');
|
|
48
|
+
log(chalk.dim(' 3. Delete CNAME file from repository (optional)'));
|
|
49
|
+
log('');
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
result.status = 'failure';
|
|
53
|
+
result.failed_steps.push({
|
|
54
|
+
step: 'remove_deployment',
|
|
55
|
+
error: 'Failed to remove deployment',
|
|
56
|
+
retriable: true,
|
|
57
|
+
});
|
|
58
|
+
log(chalk.red(`\nError: Failed to remove deployment for: ${domain}\n`));
|
|
59
|
+
}
|
|
60
|
+
if (output === 'json') {
|
|
61
|
+
console.log(JSON.stringify(result, null, 2));
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=forget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forget.js","sourceRoot":"","sources":["../../src/commands/forget.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAmB5D,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CA0C7E"}
|