gg-deploy 2.0.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.
Files changed (41) hide show
  1. package/README.md +179 -16
  2. package/dist/cli.js +143 -28
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/apply.d.ts.map +1 -1
  5. package/dist/commands/apply.js +4 -0
  6. package/dist/commands/apply.js.map +1 -1
  7. package/dist/commands/forget.d.ts +3 -0
  8. package/dist/commands/forget.d.ts.map +1 -0
  9. package/dist/commands/forget.js +65 -0
  10. package/dist/commands/forget.js.map +1 -0
  11. package/dist/commands/list.d.ts +3 -0
  12. package/dist/commands/list.d.ts.map +1 -0
  13. package/dist/commands/list.js +50 -0
  14. package/dist/commands/list.js.map +1 -0
  15. package/dist/commands/push.d.ts +3 -0
  16. package/dist/commands/push.d.ts.map +1 -0
  17. package/dist/commands/push.js +143 -0
  18. package/dist/commands/push.js.map +1 -0
  19. package/dist/config.d.ts +15 -1
  20. package/dist/config.d.ts.map +1 -1
  21. package/dist/config.js +104 -0
  22. package/dist/config.js.map +1 -1
  23. package/dist/lib/update-checker.d.ts +1 -1
  24. package/dist/lib/update-checker.js +1 -1
  25. package/dist/mcp-server.d.ts.map +1 -1
  26. package/dist/mcp-server.js +54 -6
  27. package/dist/mcp-server.js.map +1 -1
  28. package/dist/services/github-files.d.ts +25 -0
  29. package/dist/services/github-files.d.ts.map +1 -0
  30. package/dist/services/github-files.js +297 -0
  31. package/dist/services/github-files.js.map +1 -0
  32. package/dist/types.d.ts +25 -0
  33. package/dist/types.d.ts.map +1 -1
  34. package/dist/ui-server.js +1 -1
  35. package/dist/ui-server.js.map +1 -1
  36. package/package.json +14 -4
  37. package/ui/dist/assets/index-CRgid6OM.js +41 -0
  38. package/ui/dist/assets/index-DCoiogDt 2.css +1 -0
  39. package/ui/dist/index 2.html +16 -0
  40. package/ui/dist/index.html +1 -1
  41. package/ui/dist/assets/index-BrlsVS_6.js +0 -41
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
- <p align="center">
2
- <img src="img/Banner.png" alt="GG Deploy Banner" width="100%">
3
- </p>
1
+ ![GG Deploy Banner](img/Banner.png)
4
2
 
5
3
  # gg-deploy
6
4
 
7
5
  **Free hosting deserves free tooling. Domain → GitHub Pages in 60 seconds.**
8
6
 
9
- Configure and connect any domain to free hosting via GitHub Pages—DNS, SSL, CNAME—automated. One command. One click. One prompt. Works via CLI, desktop app, web UI, or AI assistant (MCP).
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
+ ![CLI Help](img/cli-help-v2.png)
37
+ ![CLI List](img/cli-list-v2.png)
38
+ ![CLI Push](img/cli-push-v2.png)
39
+
40
+ ### Desktop App
41
+ ![Desktop Main](img/mockup-desktop-main.png)
42
+ ![Desktop Settings](img/mockup-desktop-settings.png)
43
+
44
+ ### Web UI
45
+ ![Web UI Main](img/mockup-webui-main.png)
46
+ ![Web UI Settings](img/mockup-webui-settings.png)
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
- | `ui` | Launch web interface | Yes |
183
- | `mcp-serve` | Start MCP server | Yes |
184
- | `describe` | Output tool schema | Yes |
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
- ## Claude Code / MCP
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
- Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
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
- Then tell Claude: "Deploy example.com using user/repo"
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
- Built by [Abe Diaz](https://abediaz.ai) | [GitHub](https://github.com/abe238)
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
- example: 'gg-deploy plan example.com user/example --output json',
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 DNS records', 'Modifies GitHub Pages settings'],
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
- { name: '--output', values: ['human', 'json'], default: 'human' },
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: true },
101
- { name: 'repo', required: true },
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
- { name: '--output', values: ['human', 'json'], default: 'human' },
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
- example: 'gg-deploy status example.com user/example --output json',
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/Code integration')
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;AAK/D,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,aAAa,CAAC,CA4FxB"}
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"}
@@ -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;AAEtD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,IAAY,EACZ,MAAoB;IAEpB,MAAM,MAAM,GAAkB;QAC5B,MAAM,EAAE,SAAS;QACjB,eAAe,EAAE,EAAE;QACnB,YAAY,EAAE,EAAE;QAChB,iBAAiB,EAAE,EAAE;QACrB,kBAAkB,EAAE,EAAE;QACtB,WAAW,EAAE,IAAI;QACjB,sBAAsB,EAAE,IAAI;QAC5B,kBAAkB,EAAE,IAAI;KACzB,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEpE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACzC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAE1C,OAAO,EAAE,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,iBAAiB,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC;QACxF,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACpC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE7C,OAAO,EAAE,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,iBAAiB,CAAC,CAAC;QACtE,OAAO,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACxC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3C,OAAO,EAAE,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC7C,MAAM,GAAG,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpD,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAC3C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7C,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;QAErD,OAAO,EAAE,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACrD,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACrC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5C,OAAO,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC3C,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACzC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAExD,OAAO,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC3C,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEjD,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAChD,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACpD,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACvD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;QACzE,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QAEnE,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC;QACpC,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACvC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,MAAM,WAAW,GAAG,CAAC,YAAY,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,MAAM,QAAQ,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,CAAC,YAAY,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,UAAU,GAAG,CAAC,CAAC,CAAC,QAAQ;YAC5D,SAAS,EAAE,WAAW;SACvB,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,OAAO,IAAI,UAAU,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { OutputFormat, CommandResult } from '../types.js';
2
+ export declare function forgetCommand(domain: string, output: OutputFormat): Promise<CommandResult>;
3
+ //# sourceMappingURL=forget.d.ts.map
@@ -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,3 @@
1
+ import type { OutputFormat, Deployment } from '../types.js';
2
+ export declare function listCommand(output: OutputFormat): Promise<Deployment[]>;
3
+ //# sourceMappingURL=list.d.ts.map
@@ -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"}