gg-deploy 1.1.1 → 2.0.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 +80 -5
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/apply.d.ts.map +1 -1
- package/dist/commands/apply.js +16 -8
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +16 -8
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +15 -7
- package/dist/commands/status.js.map +1 -1
- package/dist/config.d.ts +16 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +34 -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 +5 -4
- package/dist/mcp-server.js.map +1 -1
- package/dist/services/cloudflare.d.ts +16 -0
- package/dist/services/cloudflare.d.ts.map +1 -0
- package/dist/services/cloudflare.js +189 -0
- package/dist/services/cloudflare.js.map +1 -0
- package/dist/services/dns-factory.d.ts +8 -0
- package/dist/services/dns-factory.d.ts.map +1 -0
- package/dist/services/dns-factory.js +46 -0
- package/dist/services/dns-factory.js.map +1 -0
- package/dist/services/godaddy.d.ts +6 -6
- package/dist/services/godaddy.d.ts.map +1 -1
- package/dist/services/godaddy.js +70 -29
- package/dist/services/godaddy.js.map +1 -1
- package/dist/services/namecheap.d.ts +22 -0
- package/dist/services/namecheap.d.ts.map +1 -0
- package/dist/services/namecheap.js +215 -0
- package/dist/services/namecheap.js.map +1 -0
- package/dist/types.d.ts +21 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +16 -1
- package/dist/types.js.map +1 -1
- package/dist/ui-server.d.ts.map +1 -1
- package/dist/ui-server.js +59 -1
- package/dist/ui-server.js.map +1 -1
- package/package.json +3 -1
- package/ui/dist/assets/index-BrlsVS_6.js +41 -0
- package/ui/dist/assets/index-DCoiogDt.css +1 -0
- package/ui/dist/index.html +1 -1
package/README.md
CHANGED
|
@@ -25,11 +25,19 @@ npx gg-deploy status example.com user/repo # Health check
|
|
|
25
25
|
## Requirements
|
|
26
26
|
|
|
27
27
|
- **Node.js 18+** — Check with `node --version`
|
|
28
|
-
- **
|
|
28
|
+
- **DNS Provider account** — GoDaddy, Cloudflare, or Namecheap
|
|
29
29
|
- **GitHub account** with a Personal Access Token
|
|
30
|
-
- **Domain
|
|
30
|
+
- **Domain** managed by your DNS provider
|
|
31
31
|
- **GitHub repo** with your site content (index.html or built site)
|
|
32
32
|
|
|
33
|
+
### Provider Comparison
|
|
34
|
+
|
|
35
|
+
| Provider | Ease of Setup | API Access | Notes |
|
|
36
|
+
|----------|---------------|------------|-------|
|
|
37
|
+
| **Cloudflare** | Easy | Free for all | Recommended for new users |
|
|
38
|
+
| **GoDaddy** | Medium | Requires 10+ domains | Production key required |
|
|
39
|
+
| **Namecheap** | Medium | Requires IP whitelist | Must whitelist your IP |
|
|
40
|
+
|
|
33
41
|
## Setup
|
|
34
42
|
|
|
35
43
|
Credentials are saved once to `~/.gg-deploy/config.json` and work across all projects.
|
|
@@ -47,9 +55,25 @@ The setup wizard walks you through:
|
|
|
47
55
|
|
|
48
56
|
### Option 2: Manual Config
|
|
49
57
|
|
|
50
|
-
Create `~/.gg-deploy/config.json
|
|
58
|
+
Create `~/.gg-deploy/config.json` with your preferred DNS provider:
|
|
59
|
+
|
|
60
|
+
**Cloudflare (Recommended):**
|
|
61
|
+
```json
|
|
62
|
+
{
|
|
63
|
+
"dnsProvider": "cloudflare",
|
|
64
|
+
"cloudflare": {
|
|
65
|
+
"apiToken": "YOUR_CLOUDFLARE_TOKEN"
|
|
66
|
+
},
|
|
67
|
+
"github": {
|
|
68
|
+
"token": "ghp_YOUR_TOKEN"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**GoDaddy:**
|
|
51
74
|
```json
|
|
52
75
|
{
|
|
76
|
+
"dnsProvider": "godaddy",
|
|
53
77
|
"godaddy": {
|
|
54
78
|
"apiKey": "YOUR_KEY",
|
|
55
79
|
"apiSecret": "YOUR_SECRET",
|
|
@@ -61,13 +85,43 @@ Create `~/.gg-deploy/config.json`:
|
|
|
61
85
|
}
|
|
62
86
|
```
|
|
63
87
|
|
|
88
|
+
**Namecheap:**
|
|
89
|
+
```json
|
|
90
|
+
{
|
|
91
|
+
"dnsProvider": "namecheap",
|
|
92
|
+
"namecheap": {
|
|
93
|
+
"apiUser": "YOUR_USERNAME",
|
|
94
|
+
"apiKey": "YOUR_API_KEY",
|
|
95
|
+
"clientIP": "YOUR_IP_ADDRESS"
|
|
96
|
+
},
|
|
97
|
+
"github": {
|
|
98
|
+
"token": "ghp_YOUR_TOKEN"
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
64
103
|
### Getting Credentials
|
|
65
104
|
|
|
105
|
+
**Cloudflare API Token (Recommended):**
|
|
106
|
+
1. Go to https://dash.cloudflare.com/profile/api-tokens
|
|
107
|
+
2. Click "Create Token"
|
|
108
|
+
3. Use "Edit zone DNS" template
|
|
109
|
+
4. Select the zone (domain) you want to manage
|
|
110
|
+
5. Copy the token
|
|
111
|
+
|
|
66
112
|
**GoDaddy API Key:**
|
|
67
113
|
1. Go to https://developer.godaddy.com/keys
|
|
68
114
|
2. Click "Create New API Key"
|
|
69
115
|
3. Select **Production** (not OTE/Test)
|
|
70
116
|
4. Copy Key and Secret immediately (secret shown only once)
|
|
117
|
+
5. Note: Requires account with **10+ domains**
|
|
118
|
+
|
|
119
|
+
**Namecheap API:**
|
|
120
|
+
1. Go to https://ap.www.namecheap.com/settings/tools/apiaccess/
|
|
121
|
+
2. Enable API access
|
|
122
|
+
3. **Whitelist your IP address** (required)
|
|
123
|
+
4. Copy API Key and Username
|
|
124
|
+
5. Get your current IP: `curl ifconfig.me`
|
|
71
125
|
|
|
72
126
|
**GitHub Token:**
|
|
73
127
|
1. Go to https://github.com/settings/tokens/new?description=gg-deploy&scopes=repo
|
|
@@ -166,9 +220,28 @@ Then tell Claude: "Deploy example.com using user/repo"
|
|
|
166
220
|
| `403 Forbidden` | API key is for OTE (test). Create a **Production** key |
|
|
167
221
|
| `404 Not Found` | Domain not in your GoDaddy account |
|
|
168
222
|
| `422 Invalid` | Domain locked or has pending transfers |
|
|
169
|
-
| `403 Access denied` | Account needs **10+ domains** for API. Use Cloudflare
|
|
223
|
+
| `403 Access denied` | Account needs **10+ domains** for API. Use Cloudflare instead |
|
|
170
224
|
| Red status dot | Hover for error. Usually auth issue |
|
|
171
225
|
|
|
226
|
+
### Cloudflare API Issues
|
|
227
|
+
|
|
228
|
+
| Problem | Solution |
|
|
229
|
+
|---------|----------|
|
|
230
|
+
| `401 Unauthorized` | Invalid API token. Regenerate at dash.cloudflare.com |
|
|
231
|
+
| `403 Forbidden` | Token doesn't have Edit DNS permission. Create new token |
|
|
232
|
+
| Zone not found | Domain not in your Cloudflare account or wrong zone |
|
|
233
|
+
| Records not applying | Ensure `proxied: false` for GitHub Pages (handled automatically) |
|
|
234
|
+
|
|
235
|
+
### Namecheap API Issues
|
|
236
|
+
|
|
237
|
+
| Problem | Solution |
|
|
238
|
+
|---------|----------|
|
|
239
|
+
| `1011150 IP not whitelisted` | Add your IP at ap.www.namecheap.com/settings/tools/apiaccess |
|
|
240
|
+
| `500000 Rate limited` | Wait a few minutes, API has rate limits |
|
|
241
|
+
| Authentication failed | Check apiUser and apiKey are correct |
|
|
242
|
+
| Domain not found | Domain must be active in your Namecheap account |
|
|
243
|
+
| Records overwritten | Namecheap API replaces ALL records. Backup is created automatically |
|
|
244
|
+
|
|
172
245
|
### GitHub API Issues
|
|
173
246
|
|
|
174
247
|
| Problem | Solution |
|
|
@@ -238,7 +311,9 @@ Total time: ~60 seconds. DNS propagation: 10-60 minutes.
|
|
|
238
311
|
|
|
239
312
|
## Limitations
|
|
240
313
|
|
|
241
|
-
- GoDaddy
|
|
314
|
+
- Supports GoDaddy, Cloudflare, and Namecheap (other providers coming)
|
|
315
|
+
- GoDaddy requires 10+ domains for API access
|
|
316
|
+
- Namecheap requires IP whitelist configuration
|
|
242
317
|
- Public repos or GitHub Pro required for Pages
|
|
243
318
|
- Only www subdomain supported
|
|
244
319
|
- One domain per deployment
|
package/dist/cli.js
CHANGED
|
@@ -60,8 +60,8 @@ program
|
|
|
60
60
|
.action(() => {
|
|
61
61
|
const description = {
|
|
62
62
|
name: 'gg-deploy',
|
|
63
|
-
version:
|
|
64
|
-
description: 'Deploy any domain to GitHub Pages in one command',
|
|
63
|
+
version: CURRENT_VERSION,
|
|
64
|
+
description: 'Deploy any domain to GitHub Pages in one command. Supports GoDaddy, Cloudflare, and Namecheap DNS providers.',
|
|
65
65
|
commands: [
|
|
66
66
|
{
|
|
67
67
|
name: 'plan',
|
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;AAK/D,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,aAAa,CAAC,CA4FxB"}
|
package/dist/commands/apply.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import ora from 'ora';
|
|
3
|
-
import {
|
|
3
|
+
import { DNSProviderError } from '../types.js';
|
|
4
|
+
import { DNSProviderFactory } from '../services/dns-factory.js';
|
|
4
5
|
import { GitHubService } from '../services/github.js';
|
|
5
6
|
export async function applyCommand(domain, repo, output) {
|
|
6
7
|
const result = {
|
|
@@ -16,14 +17,15 @@ export async function applyCommand(domain, repo, output) {
|
|
|
16
17
|
const spinner = output === 'human' ? ora() : null;
|
|
17
18
|
const log = (msg) => output === 'human' && console.log(msg);
|
|
18
19
|
try {
|
|
19
|
-
const
|
|
20
|
+
const dns = DNSProviderFactory.create();
|
|
20
21
|
const github = new GitHubService();
|
|
21
22
|
const githubUser = repo.split('/')[0];
|
|
22
23
|
log(chalk.blue('\n=== Deploying ===\n'));
|
|
24
|
+
log(chalk.dim(`Provider: ${dns.name}\n`));
|
|
23
25
|
spinner?.start('Verifying domain ownership...');
|
|
24
|
-
const domainExists = await
|
|
26
|
+
const domainExists = await dns.verifyDomain(domain);
|
|
25
27
|
if (!domainExists)
|
|
26
|
-
throw new Error(`Domain ${domain} not in
|
|
28
|
+
throw new Error(`Domain ${domain} not found in ${dns.name} account`);
|
|
27
29
|
spinner?.succeed('Domain verified');
|
|
28
30
|
result.completed_steps.push('verify_domain');
|
|
29
31
|
spinner?.start('Verifying repository access...');
|
|
@@ -32,8 +34,8 @@ export async function applyCommand(domain, repo, output) {
|
|
|
32
34
|
throw new Error(`Repository ${repo} not accessible`);
|
|
33
35
|
spinner?.succeed('Repository verified');
|
|
34
36
|
result.completed_steps.push('verify_repo');
|
|
35
|
-
spinner?.start('Configuring DNS
|
|
36
|
-
await
|
|
37
|
+
spinner?.start('Configuring DNS records...');
|
|
38
|
+
await dns.setGitHubPagesRecords(domain, githubUser);
|
|
37
39
|
spinner?.succeed('DNS records configured');
|
|
38
40
|
result.completed_steps.push('configure_dns');
|
|
39
41
|
result.resources_created.push(`A records for ${domain}`);
|
|
@@ -67,11 +69,17 @@ export async function applyCommand(domain, repo, output) {
|
|
|
67
69
|
catch (e) {
|
|
68
70
|
spinner?.fail('Deployment failed');
|
|
69
71
|
result.status = result.completed_steps.length > 0 ? 'partial_success' : 'failure';
|
|
72
|
+
const isRetriable = e instanceof DNSProviderError ? e.retriable : true;
|
|
73
|
+
const errorMsg = e instanceof Error ? e.message : String(e);
|
|
74
|
+
const suggestion = e instanceof DNSProviderError ? e.suggestion : undefined;
|
|
70
75
|
result.failed_steps.push({
|
|
71
76
|
step: 'apply',
|
|
72
|
-
error:
|
|
73
|
-
retriable:
|
|
77
|
+
error: suggestion ? `${errorMsg} (${suggestion})` : errorMsg,
|
|
78
|
+
retriable: isRetriable,
|
|
74
79
|
});
|
|
80
|
+
if (output === 'human' && suggestion) {
|
|
81
|
+
console.log(chalk.yellow(`\nSuggestion: ${suggestion}`));
|
|
82
|
+
}
|
|
75
83
|
}
|
|
76
84
|
if (output === 'json') {
|
|
77
85
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAK3E,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,aAAa,CAAC,CAoHxB"}
|
package/dist/commands/plan.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import {
|
|
2
|
+
import { DNSProviderError } from '../types.js';
|
|
3
|
+
import { DNSProviderFactory } from '../services/dns-factory.js';
|
|
3
4
|
import { GitHubService } from '../services/github.js';
|
|
4
5
|
export async function planCommand(domain, repo, output) {
|
|
5
6
|
const result = {
|
|
@@ -20,19 +21,20 @@ export async function planCommand(domain, repo, output) {
|
|
|
20
21
|
warnings: [],
|
|
21
22
|
};
|
|
22
23
|
try {
|
|
23
|
-
const
|
|
24
|
+
const dns = DNSProviderFactory.create();
|
|
24
25
|
const github = new GitHubService();
|
|
25
26
|
if (output === 'human') {
|
|
26
27
|
console.log(chalk.blue('\n=== Deployment Plan ===\n'));
|
|
27
|
-
console.log(`Domain:
|
|
28
|
-
console.log(`Repo:
|
|
28
|
+
console.log(`Domain: ${chalk.cyan(domain)}`);
|
|
29
|
+
console.log(`Repo: ${chalk.cyan(repo)}`);
|
|
30
|
+
console.log(`Provider: ${chalk.cyan(dns.name)}\n`);
|
|
29
31
|
}
|
|
30
|
-
const domainExists = await
|
|
32
|
+
const domainExists = await dns.verifyDomain(domain);
|
|
31
33
|
if (!domainExists) {
|
|
32
34
|
result.status = 'failure';
|
|
33
35
|
result.failed_steps.push({
|
|
34
36
|
step: 'verify_domain',
|
|
35
|
-
error: `Domain ${domain} not found or not active in
|
|
37
|
+
error: `Domain ${domain} not found or not active in ${dns.name}`,
|
|
36
38
|
retriable: false,
|
|
37
39
|
});
|
|
38
40
|
return result;
|
|
@@ -94,11 +96,17 @@ export async function planCommand(domain, repo, output) {
|
|
|
94
96
|
}
|
|
95
97
|
catch (e) {
|
|
96
98
|
result.status = 'failure';
|
|
99
|
+
const isRetriable = e instanceof DNSProviderError ? e.retriable : true;
|
|
100
|
+
const errorMsg = e instanceof Error ? e.message : String(e);
|
|
101
|
+
const suggestion = e instanceof DNSProviderError ? e.suggestion : undefined;
|
|
97
102
|
result.failed_steps.push({
|
|
98
103
|
step: 'plan',
|
|
99
|
-
error:
|
|
100
|
-
retriable:
|
|
104
|
+
error: suggestion ? `${errorMsg} (${suggestion})` : errorMsg,
|
|
105
|
+
retriable: isRetriable,
|
|
101
106
|
});
|
|
107
|
+
if (output === 'human' && suggestion) {
|
|
108
|
+
console.log(chalk.yellow(`\nSuggestion: ${suggestion}`));
|
|
109
|
+
}
|
|
102
110
|
}
|
|
103
111
|
return result;
|
|
104
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAgB,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAgB,aAAa,EAAE,MAAM,aAAa,CAAC;AAK7E,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,aAAa,CAAC,CA+FxB"}
|
package/dist/commands/status.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import {
|
|
2
|
+
import { DNSProviderError } from '../types.js';
|
|
3
|
+
import { DNSProviderFactory } from '../services/dns-factory.js';
|
|
3
4
|
import { GitHubService } from '../services/github.js';
|
|
4
5
|
export async function statusCommand(domain, repo, output) {
|
|
5
6
|
const result = {
|
|
@@ -22,9 +23,9 @@ export async function statusCommand(domain, repo, output) {
|
|
|
22
23
|
health: 'error',
|
|
23
24
|
};
|
|
24
25
|
try {
|
|
25
|
-
const
|
|
26
|
+
const dns = DNSProviderFactory.create();
|
|
26
27
|
const github = new GitHubService();
|
|
27
|
-
const records = await
|
|
28
|
+
const records = await dns.getDNSRecords(domain);
|
|
28
29
|
status.dns_records = records.filter((r) => r.type === 'A' || (r.type === 'CNAME' && r.name === 'www'));
|
|
29
30
|
const hasGitHubA = records.some((r) => r.type === 'A' && r.data.startsWith('185.199.'));
|
|
30
31
|
const hasGitHubCname = records.some((r) => r.type === 'CNAME' && r.data.includes('.github.io'));
|
|
@@ -45,8 +46,9 @@ export async function statusCommand(domain, repo, output) {
|
|
|
45
46
|
}
|
|
46
47
|
if (output === 'human') {
|
|
47
48
|
console.log(chalk.blue('\n=== Status ===\n'));
|
|
48
|
-
console.log(`Domain:
|
|
49
|
-
console.log(`Repo:
|
|
49
|
+
console.log(`Domain: ${chalk.cyan(domain)}`);
|
|
50
|
+
console.log(`Repo: ${chalk.cyan(repo)}`);
|
|
51
|
+
console.log(`Provider: ${chalk.cyan(dns.name)}\n`);
|
|
50
52
|
const dnsIcon = status.dns_configured ? chalk.green('OK') : chalk.red('X');
|
|
51
53
|
const ghIcon = status.github_pages_enabled ? chalk.green('OK') : chalk.red('X');
|
|
52
54
|
const sslIcon = status.ssl_status === 'active' ? chalk.green('OK') :
|
|
@@ -68,11 +70,17 @@ export async function statusCommand(domain, repo, output) {
|
|
|
68
70
|
}
|
|
69
71
|
catch (e) {
|
|
70
72
|
result.status = 'failure';
|
|
73
|
+
const isRetriable = e instanceof DNSProviderError ? e.retriable : true;
|
|
74
|
+
const errorMsg = e instanceof Error ? e.message : String(e);
|
|
75
|
+
const suggestion = e instanceof DNSProviderError ? e.suggestion : undefined;
|
|
71
76
|
result.failed_steps.push({
|
|
72
77
|
step: 'status',
|
|
73
|
-
error:
|
|
74
|
-
retriable:
|
|
78
|
+
error: suggestion ? `${errorMsg} (${suggestion})` : errorMsg,
|
|
79
|
+
retriable: isRetriable,
|
|
75
80
|
});
|
|
81
|
+
if (output === 'human' && suggestion) {
|
|
82
|
+
console.log(chalk.yellow(`\nSuggestion: ${suggestion}`));
|
|
83
|
+
}
|
|
76
84
|
}
|
|
77
85
|
return result;
|
|
78
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,13 +1,25 @@
|
|
|
1
|
+
import type { ProviderName } from './types.js';
|
|
1
2
|
export interface GoDaddyConfig {
|
|
2
3
|
apiKey: string;
|
|
3
4
|
apiSecret: string;
|
|
4
5
|
environment: 'production' | 'ote';
|
|
5
6
|
}
|
|
7
|
+
export interface CloudflareConfig {
|
|
8
|
+
apiToken: string;
|
|
9
|
+
}
|
|
10
|
+
export interface NamecheapConfig {
|
|
11
|
+
apiUser: string;
|
|
12
|
+
apiKey: string;
|
|
13
|
+
clientIP: string;
|
|
14
|
+
}
|
|
6
15
|
export interface GitHubConfig {
|
|
7
16
|
token: string;
|
|
8
17
|
}
|
|
9
18
|
export interface AppConfig {
|
|
19
|
+
dnsProvider?: ProviderName;
|
|
10
20
|
godaddy?: GoDaddyConfig;
|
|
21
|
+
cloudflare?: CloudflareConfig;
|
|
22
|
+
namecheap?: NamecheapConfig;
|
|
11
23
|
github?: GitHubConfig;
|
|
12
24
|
}
|
|
13
25
|
export declare function getConfigPath(): string;
|
|
@@ -16,8 +28,12 @@ export declare function readConfig(): AppConfig;
|
|
|
16
28
|
export declare function writeConfig(config: AppConfig): void;
|
|
17
29
|
export declare function getGoDaddyConfig(): GoDaddyConfig | null;
|
|
18
30
|
export declare function getGitHubConfig(): GitHubConfig | null;
|
|
31
|
+
export declare function getCloudflareConfig(): CloudflareConfig | null;
|
|
32
|
+
export declare function getNamecheapConfig(): NamecheapConfig | null;
|
|
19
33
|
export declare function saveGoDaddyConfig(apiKey: string, apiSecret: string, environment?: 'production' | 'ote'): void;
|
|
20
34
|
export declare function saveGitHubConfig(token: string): void;
|
|
35
|
+
export declare function saveCloudflareConfig(apiToken: string): void;
|
|
36
|
+
export declare function saveNamecheapConfig(apiUser: string, apiKey: string, clientIP: string): void;
|
|
21
37
|
export declare function clearConfig(): void;
|
|
22
38
|
export interface AuthStatus {
|
|
23
39
|
godaddy: {
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,YAAY,GAAG,KAAK,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAKD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED,wBAAgB,UAAU,IAAI,SAAS,CAUtC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAQnD;AAED,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAgBvD;AAED,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAMrD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAE,YAAY,GAAG,KAAoB,GAAG,IAAI,CAI3H;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIpD;AAED,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,MAAM,EAAE;QACN,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,wBAAgB,aAAa,IAAI,UAAU,CAc1C"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,YAAY,GAAG,KAAK,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAKD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED,wBAAgB,UAAU,IAAI,SAAS,CAUtC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAQnD;AAED,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAgBvD;AAED,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAMrD;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAU7D;AAED,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAY3D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAE,YAAY,GAAG,KAAoB,GAAG,IAAI,CAI3H;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIpD;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI3D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI3F;AAED,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,MAAM,EAAE;QACN,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,wBAAgB,aAAa,IAAI,UAAU,CAc1C"}
|
package/dist/config.js
CHANGED
|
@@ -57,6 +57,30 @@ export function getGitHubConfig() {
|
|
|
57
57
|
}
|
|
58
58
|
return null;
|
|
59
59
|
}
|
|
60
|
+
export function getCloudflareConfig() {
|
|
61
|
+
const config = readConfig();
|
|
62
|
+
if (config.cloudflare?.apiToken) {
|
|
63
|
+
return config.cloudflare;
|
|
64
|
+
}
|
|
65
|
+
const apiToken = process.env.CLOUDFLARE_API_TOKEN;
|
|
66
|
+
if (apiToken) {
|
|
67
|
+
return { apiToken };
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
export function getNamecheapConfig() {
|
|
72
|
+
const config = readConfig();
|
|
73
|
+
if (config.namecheap?.apiUser && config.namecheap?.apiKey && config.namecheap?.clientIP) {
|
|
74
|
+
return config.namecheap;
|
|
75
|
+
}
|
|
76
|
+
const apiUser = process.env.NAMECHEAP_API_USER;
|
|
77
|
+
const apiKey = process.env.NAMECHEAP_API_KEY;
|
|
78
|
+
const clientIP = process.env.NAMECHEAP_CLIENT_IP;
|
|
79
|
+
if (apiUser && apiKey && clientIP) {
|
|
80
|
+
return { apiUser, apiKey, clientIP };
|
|
81
|
+
}
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
60
84
|
export function saveGoDaddyConfig(apiKey, apiSecret, environment = 'production') {
|
|
61
85
|
const config = readConfig();
|
|
62
86
|
config.godaddy = { apiKey, apiSecret, environment };
|
|
@@ -67,6 +91,16 @@ export function saveGitHubConfig(token) {
|
|
|
67
91
|
config.github = { token };
|
|
68
92
|
writeConfig(config);
|
|
69
93
|
}
|
|
94
|
+
export function saveCloudflareConfig(apiToken) {
|
|
95
|
+
const config = readConfig();
|
|
96
|
+
config.cloudflare = { apiToken };
|
|
97
|
+
writeConfig(config);
|
|
98
|
+
}
|
|
99
|
+
export function saveNamecheapConfig(apiUser, apiKey, clientIP) {
|
|
100
|
+
const config = readConfig();
|
|
101
|
+
config.namecheap = { apiUser, apiKey, clientIP };
|
|
102
|
+
writeConfig(config);
|
|
103
|
+
}
|
|
70
104
|
export function clearConfig() {
|
|
71
105
|
writeConfig({});
|
|
72
106
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACnF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { join } from 'path';
|
|
|
3
3
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
4
4
|
import { execSync } from 'child_process';
|
|
5
5
|
import chalk from 'chalk';
|
|
6
|
-
const CURRENT_VERSION = '
|
|
6
|
+
const CURRENT_VERSION = '2.0.0';
|
|
7
7
|
const GITHUB_REPO = 'abe238/gg-deploy';
|
|
8
8
|
const CACHE_DIR = join(homedir(), '.gg-deploy');
|
|
9
9
|
const CACHE_FILE = join(CACHE_DIR, 'update-cache.json');
|
package/dist/mcp-server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAmGvB,wBAAsB,cAAc,kBAGnC"}
|
package/dist/mcp-server.js
CHANGED
|
@@ -6,12 +6,13 @@ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextpro
|
|
|
6
6
|
import { planCommand } from './commands/plan.js';
|
|
7
7
|
import { applyCommand } from './commands/apply.js';
|
|
8
8
|
import { statusCommand } from './commands/status.js';
|
|
9
|
-
|
|
9
|
+
import { CURRENT_VERSION } from './lib/update-checker.js';
|
|
10
|
+
const server = new Server({ name: 'gg-deploy', version: CURRENT_VERSION }, { capabilities: { tools: {} } });
|
|
10
11
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
11
12
|
tools: [
|
|
12
13
|
{
|
|
13
14
|
name: 'deploy_site_plan',
|
|
14
|
-
description: 'Preview
|
|
15
|
+
description: 'Preview DNS + GitHub Pages deployment without making changes. Supports GoDaddy, Cloudflare, and Namecheap. Safe to call anytime.',
|
|
15
16
|
inputSchema: {
|
|
16
17
|
type: 'object',
|
|
17
18
|
properties: {
|
|
@@ -23,7 +24,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
23
24
|
},
|
|
24
25
|
{
|
|
25
26
|
name: 'deploy_site_apply',
|
|
26
|
-
description: 'Execute
|
|
27
|
+
description: 'Execute DNS + GitHub Pages deployment. Configures DNS A records, CNAME, and enables GitHub Pages with custom domain. Supports GoDaddy, Cloudflare, and Namecheap.',
|
|
27
28
|
inputSchema: {
|
|
28
29
|
type: 'object',
|
|
29
30
|
properties: {
|
|
@@ -35,7 +36,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
35
36
|
},
|
|
36
37
|
{
|
|
37
38
|
name: 'deploy_site_status',
|
|
38
|
-
description: 'Check deployment health: DNS configuration, GitHub Pages status, SSL certificate state. Safe to call anytime.',
|
|
39
|
+
description: 'Check deployment health: DNS configuration, GitHub Pages status, SSL certificate state. Supports GoDaddy, Cloudflare, and Namecheap. Safe to call anytime.',
|
|
39
40
|
inputSchema: {
|
|
40
41
|
type: 'object',
|
|
41
42
|
properties: {
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { DNSRecord, DNSProvider, DomainInfo, ProviderName } from '../types.js';
|
|
2
|
+
export declare class CloudflareService implements DNSProvider {
|
|
3
|
+
readonly name: ProviderName;
|
|
4
|
+
private apiToken;
|
|
5
|
+
private zoneCache;
|
|
6
|
+
constructor();
|
|
7
|
+
private get headers();
|
|
8
|
+
private withRetry;
|
|
9
|
+
private handleApiError;
|
|
10
|
+
getZoneId(domain: string): Promise<string>;
|
|
11
|
+
listDomains(): Promise<DomainInfo[]>;
|
|
12
|
+
getDNSRecords(domain: string): Promise<DNSRecord[]>;
|
|
13
|
+
setGitHubPagesRecords(domain: string, githubUser: string): Promise<void>;
|
|
14
|
+
verifyDomain(domain: string): Promise<boolean>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=cloudflare.d.ts.map
|