dominion-cli 0.1.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 +304 -0
- package/dist/app.d.ts +15 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +36 -0
- package/dist/app.js.map +1 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +369 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/account.d.ts +28 -0
- package/dist/commands/account.d.ts.map +1 -0
- package/dist/commands/account.js +133 -0
- package/dist/commands/account.js.map +1 -0
- package/dist/commands/billing.d.ts +16 -0
- package/dist/commands/billing.d.ts.map +1 -0
- package/dist/commands/billing.js +61 -0
- package/dist/commands/billing.js.map +1 -0
- package/dist/commands/buy.d.ts +27 -0
- package/dist/commands/buy.d.ts.map +1 -0
- package/dist/commands/buy.js +293 -0
- package/dist/commands/buy.js.map +1 -0
- package/dist/commands/cart/add.d.ts +17 -0
- package/dist/commands/cart/add.d.ts.map +1 -0
- package/dist/commands/cart/add.js +119 -0
- package/dist/commands/cart/add.js.map +1 -0
- package/dist/commands/cart/clear.d.ts +12 -0
- package/dist/commands/cart/clear.d.ts.map +1 -0
- package/dist/commands/cart/clear.js +49 -0
- package/dist/commands/cart/clear.js.map +1 -0
- package/dist/commands/cart/index.d.ts +8 -0
- package/dist/commands/cart/index.d.ts.map +1 -0
- package/dist/commands/cart/index.js +8 -0
- package/dist/commands/cart/index.js.map +1 -0
- package/dist/commands/cart/list.d.ts +14 -0
- package/dist/commands/cart/list.d.ts.map +1 -0
- package/dist/commands/cart/list.js +51 -0
- package/dist/commands/cart/list.js.map +1 -0
- package/dist/commands/cart/remove.d.ts +13 -0
- package/dist/commands/cart/remove.d.ts.map +1 -0
- package/dist/commands/cart/remove.js +24 -0
- package/dist/commands/cart/remove.js.map +1 -0
- package/dist/commands/credits.d.ts +10 -0
- package/dist/commands/credits.d.ts.map +1 -0
- package/dist/commands/credits.js +139 -0
- package/dist/commands/credits.js.map +1 -0
- package/dist/commands/dns/add.d.ts +30 -0
- package/dist/commands/dns/add.d.ts.map +1 -0
- package/dist/commands/dns/add.js +144 -0
- package/dist/commands/dns/add.js.map +1 -0
- package/dist/commands/dns/index.d.ts +7 -0
- package/dist/commands/dns/index.d.ts.map +1 -0
- package/dist/commands/dns/index.js +7 -0
- package/dist/commands/dns/index.js.map +1 -0
- package/dist/commands/dns/list.d.ts +24 -0
- package/dist/commands/dns/list.d.ts.map +1 -0
- package/dist/commands/dns/list.js +111 -0
- package/dist/commands/dns/list.js.map +1 -0
- package/dist/commands/dns/remove.d.ts +24 -0
- package/dist/commands/dns/remove.d.ts.map +1 -0
- package/dist/commands/dns/remove.js +137 -0
- package/dist/commands/dns/remove.js.map +1 -0
- package/dist/commands/domains/detail.d.ts +20 -0
- package/dist/commands/domains/detail.d.ts.map +1 -0
- package/dist/commands/domains/detail.js +112 -0
- package/dist/commands/domains/detail.js.map +1 -0
- package/dist/commands/domains/index.d.ts +6 -0
- package/dist/commands/domains/index.d.ts.map +1 -0
- package/dist/commands/domains/index.js +6 -0
- package/dist/commands/domains/index.js.map +1 -0
- package/dist/commands/domains/list.d.ts +21 -0
- package/dist/commands/domains/list.d.ts.map +1 -0
- package/dist/commands/domains/list.js +106 -0
- package/dist/commands/domains/list.js.map +1 -0
- package/dist/commands/hack.d.ts +9 -0
- package/dist/commands/hack.d.ts.map +1 -0
- package/dist/commands/hack.js +104 -0
- package/dist/commands/hack.js.map +1 -0
- package/dist/commands/integrations.d.ts +20 -0
- package/dist/commands/integrations.d.ts.map +1 -0
- package/dist/commands/integrations.js +92 -0
- package/dist/commands/integrations.js.map +1 -0
- package/dist/commands/login.d.ts +15 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +95 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +13 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +32 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/search.d.ts +24 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +162 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/settings/index.d.ts +6 -0
- package/dist/commands/settings/index.d.ts.map +1 -0
- package/dist/commands/settings/index.js +6 -0
- package/dist/commands/settings/index.js.map +1 -0
- package/dist/commands/settings/set.d.ts +25 -0
- package/dist/commands/settings/set.d.ts.map +1 -0
- package/dist/commands/settings/set.js +215 -0
- package/dist/commands/settings/set.js.map +1 -0
- package/dist/commands/settings/view.d.ts +17 -0
- package/dist/commands/settings/view.d.ts.map +1 -0
- package/dist/commands/settings/view.js +99 -0
- package/dist/commands/settings/view.js.map +1 -0
- package/dist/commands/team/add.d.ts +17 -0
- package/dist/commands/team/add.d.ts.map +1 -0
- package/dist/commands/team/add.js +64 -0
- package/dist/commands/team/add.js.map +1 -0
- package/dist/commands/team/index.d.ts +7 -0
- package/dist/commands/team/index.d.ts.map +1 -0
- package/dist/commands/team/index.js +7 -0
- package/dist/commands/team/index.js.map +1 -0
- package/dist/commands/team/list.d.ts +13 -0
- package/dist/commands/team/list.d.ts.map +1 -0
- package/dist/commands/team/list.js +51 -0
- package/dist/commands/team/list.js.map +1 -0
- package/dist/commands/team/remove.d.ts +14 -0
- package/dist/commands/team/remove.d.ts.map +1 -0
- package/dist/commands/team/remove.js +57 -0
- package/dist/commands/team/remove.js.map +1 -0
- package/dist/commands/vercel/index.d.ts +8 -0
- package/dist/commands/vercel/index.d.ts.map +1 -0
- package/dist/commands/vercel/index.js +8 -0
- package/dist/commands/vercel/index.js.map +1 -0
- package/dist/commands/vercel/link.d.ts +25 -0
- package/dist/commands/vercel/link.d.ts.map +1 -0
- package/dist/commands/vercel/link.js +176 -0
- package/dist/commands/vercel/link.js.map +1 -0
- package/dist/commands/vercel/setup.d.ts +13 -0
- package/dist/commands/vercel/setup.d.ts.map +1 -0
- package/dist/commands/vercel/setup.js +113 -0
- package/dist/commands/vercel/setup.js.map +1 -0
- package/dist/commands/vercel/status.d.ts +15 -0
- package/dist/commands/vercel/status.d.ts.map +1 -0
- package/dist/commands/vercel/status.js +103 -0
- package/dist/commands/vercel/status.js.map +1 -0
- package/dist/commands/vercel/unlink.d.ts +16 -0
- package/dist/commands/vercel/unlink.d.ts.map +1 -0
- package/dist/commands/vercel/unlink.js +118 -0
- package/dist/commands/vercel/unlink.js.map +1 -0
- package/dist/commands/webhooks/add.d.ts +16 -0
- package/dist/commands/webhooks/add.d.ts.map +1 -0
- package/dist/commands/webhooks/add.js +61 -0
- package/dist/commands/webhooks/add.js.map +1 -0
- package/dist/commands/webhooks/index.d.ts +7 -0
- package/dist/commands/webhooks/index.d.ts.map +1 -0
- package/dist/commands/webhooks/index.js +7 -0
- package/dist/commands/webhooks/index.js.map +1 -0
- package/dist/commands/webhooks/list.d.ts +14 -0
- package/dist/commands/webhooks/list.d.ts.map +1 -0
- package/dist/commands/webhooks/list.js +47 -0
- package/dist/commands/webhooks/list.js.map +1 -0
- package/dist/commands/webhooks/remove.d.ts +14 -0
- package/dist/commands/webhooks/remove.d.ts.map +1 -0
- package/dist/commands/webhooks/remove.js +57 -0
- package/dist/commands/webhooks/remove.js.map +1 -0
- package/dist/commands/whoami.d.ts +13 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +33 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/components/account-card.d.ts +17 -0
- package/dist/components/account-card.d.ts.map +1 -0
- package/dist/components/account-card.js +19 -0
- package/dist/components/account-card.js.map +1 -0
- package/dist/components/billing-table.d.ts +22 -0
- package/dist/components/billing-table.d.ts.map +1 -0
- package/dist/components/billing-table.js +53 -0
- package/dist/components/billing-table.js.map +1 -0
- package/dist/components/celebration.d.ts +21 -0
- package/dist/components/celebration.d.ts.map +1 -0
- package/dist/components/celebration.js +55 -0
- package/dist/components/celebration.js.map +1 -0
- package/dist/components/contact-form.d.ts +23 -0
- package/dist/components/contact-form.d.ts.map +1 -0
- package/dist/components/contact-form.js +109 -0
- package/dist/components/contact-form.js.map +1 -0
- package/dist/components/dns-table.d.ts +14 -0
- package/dist/components/dns-table.d.ts.map +1 -0
- package/dist/components/dns-table.js +71 -0
- package/dist/components/dns-table.js.map +1 -0
- package/dist/components/domain-card.d.ts +14 -0
- package/dist/components/domain-card.d.ts.map +1 -0
- package/dist/components/domain-card.js +41 -0
- package/dist/components/domain-card.js.map +1 -0
- package/dist/components/domain-table.d.ts +30 -0
- package/dist/components/domain-table.d.ts.map +1 -0
- package/dist/components/domain-table.js +87 -0
- package/dist/components/domain-table.js.map +1 -0
- package/dist/components/error-display.d.ts +25 -0
- package/dist/components/error-display.d.ts.map +1 -0
- package/dist/components/error-display.js +51 -0
- package/dist/components/error-display.js.map +1 -0
- package/dist/components/layout.d.ts +14 -0
- package/dist/components/layout.d.ts.map +1 -0
- package/dist/components/layout.js +21 -0
- package/dist/components/layout.js.map +1 -0
- package/dist/components/logo.d.ts +37 -0
- package/dist/components/logo.d.ts.map +1 -0
- package/dist/components/logo.js +70 -0
- package/dist/components/logo.js.map +1 -0
- package/dist/components/matrix-rain.d.ts +17 -0
- package/dist/components/matrix-rain.d.ts.map +1 -0
- package/dist/components/matrix-rain.js +105 -0
- package/dist/components/matrix-rain.js.map +1 -0
- package/dist/components/purchase-confirmation.d.ts +17 -0
- package/dist/components/purchase-confirmation.d.ts.map +1 -0
- package/dist/components/purchase-confirmation.js +17 -0
- package/dist/components/purchase-confirmation.js.map +1 -0
- package/dist/components/search-results.d.ts +30 -0
- package/dist/components/search-results.d.ts.map +1 -0
- package/dist/components/search-results.js +53 -0
- package/dist/components/search-results.js.map +1 -0
- package/dist/components/settings-card.d.ts +14 -0
- package/dist/components/settings-card.d.ts.map +1 -0
- package/dist/components/settings-card.js +40 -0
- package/dist/components/settings-card.js.map +1 -0
- package/dist/components/spinner-messages.d.ts +19 -0
- package/dist/components/spinner-messages.d.ts.map +1 -0
- package/dist/components/spinner-messages.js +55 -0
- package/dist/components/spinner-messages.js.map +1 -0
- package/dist/lib/achievements.d.ts +107 -0
- package/dist/lib/achievements.d.ts.map +1 -0
- package/dist/lib/achievements.js +341 -0
- package/dist/lib/achievements.js.map +1 -0
- package/dist/lib/auth.d.ts +45 -0
- package/dist/lib/auth.d.ts.map +1 -0
- package/dist/lib/auth.js +125 -0
- package/dist/lib/auth.js.map +1 -0
- package/dist/lib/cart.d.ts +69 -0
- package/dist/lib/cart.d.ts.map +1 -0
- package/dist/lib/cart.js +131 -0
- package/dist/lib/cart.js.map +1 -0
- package/dist/lib/config.d.ts +51 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +116 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/dns-validation.d.ts +51 -0
- package/dist/lib/dns-validation.d.ts.map +1 -0
- package/dist/lib/dns-validation.js +185 -0
- package/dist/lib/dns-validation.js.map +1 -0
- package/dist/lib/easter-eggs.d.ts +21 -0
- package/dist/lib/easter-eggs.d.ts.map +1 -0
- package/dist/lib/easter-eggs.js +64 -0
- package/dist/lib/easter-eggs.js.map +1 -0
- package/dist/lib/error-personality.d.ts +35 -0
- package/dist/lib/error-personality.d.ts.map +1 -0
- package/dist/lib/error-personality.js +191 -0
- package/dist/lib/error-personality.js.map +1 -0
- package/dist/lib/errors.d.ts +8 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +7 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/konami.d.ts +51 -0
- package/dist/lib/konami.d.ts.map +1 -0
- package/dist/lib/konami.js +107 -0
- package/dist/lib/konami.js.map +1 -0
- package/dist/lib/loading-messages.d.ts +13 -0
- package/dist/lib/loading-messages.d.ts.map +1 -0
- package/dist/lib/loading-messages.js +13 -0
- package/dist/lib/loading-messages.js.map +1 -0
- package/dist/lib/namecom-client.d.ts +73 -0
- package/dist/lib/namecom-client.d.ts.map +1 -0
- package/dist/lib/namecom-client.js +260 -0
- package/dist/lib/namecom-client.js.map +1 -0
- package/dist/lib/nameserver-presets.d.ts +27 -0
- package/dist/lib/nameserver-presets.d.ts.map +1 -0
- package/dist/lib/nameserver-presets.js +45 -0
- package/dist/lib/nameserver-presets.js.map +1 -0
- package/dist/lib/purchase.d.ts +71 -0
- package/dist/lib/purchase.d.ts.map +1 -0
- package/dist/lib/purchase.js +160 -0
- package/dist/lib/purchase.js.map +1 -0
- package/dist/lib/schemas.d.ts +1968 -0
- package/dist/lib/schemas.d.ts.map +1 -0
- package/dist/lib/schemas.js +112 -0
- package/dist/lib/schemas.js.map +1 -0
- package/dist/lib/team.d.ts +71 -0
- package/dist/lib/team.d.ts.map +1 -0
- package/dist/lib/team.js +135 -0
- package/dist/lib/team.js.map +1 -0
- package/dist/lib/theme.d.ts +152 -0
- package/dist/lib/theme.d.ts.map +1 -0
- package/dist/lib/theme.js +185 -0
- package/dist/lib/theme.js.map +1 -0
- package/dist/lib/types.d.ts +136 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +19 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/vercel-client.d.ts +110 -0
- package/dist/lib/vercel-client.d.ts.map +1 -0
- package/dist/lib/vercel-client.js +196 -0
- package/dist/lib/vercel-client.js.map +1 -0
- package/dist/lib/webhooks.d.ts +83 -0
- package/dist/lib/webhooks.d.ts.map +1 -0
- package/dist/lib/webhooks.js +195 -0
- package/dist/lib/webhooks.js.map +1 -0
- package/package.json +66 -0
package/README.md
ADDED
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
# dominion
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/dominion-cli)
|
|
4
|
+
[](https://github.com/dominioncli/dominion-cli/blob/main/LICENSE)
|
|
5
|
+
[](https://nodejs.org)
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
██████╗ ██████╗ ███╗ ███╗██╗███╗ ██╗██╗ ██████╗ ███╗ ██╗
|
|
9
|
+
██╔══██╗██╔═══██╗████╗ ████║██║████╗ ██║██║██╔═══██╗████╗ ██║
|
|
10
|
+
██║ ██║██║ ██║██╔████╔██║██║██╔██╗ ██║██║██║ ██║██╔██╗ ██║
|
|
11
|
+
██║ ██║██║ ██║██║╚██╔╝██║██║██║╚██╗██║██║██║ ██║██║╚██╗██║
|
|
12
|
+
██████╔╝╚██████╔╝██║ ╚═╝ ██║██║██║ ╚████║██║╚██████╔╝██║ ╚████║
|
|
13
|
+
╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚═╝ ╚═════╝ ╚═╝ ╚═══╝
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
**Premium CLI for domain search, registration, and management.**
|
|
17
|
+
|
|
18
|
+
Search, register, and manage domains directly from your terminal. Built with [Ink](https://github.com/vadimdemedes/ink) for rich TUI output, backed by the [Name.com](https://www.name.com) API, with optional [Vercel](https://vercel.com) integration for seamless deployments.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Install
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install -g dominion-cli
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Verify the installation:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
dominion --version
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Requires Node.js 18+.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Quickstart
|
|
39
|
+
|
|
40
|
+
Get from zero to domain owner in five steps.
|
|
41
|
+
|
|
42
|
+
### 1. Authenticate
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
dominion login
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Enter your Name.com API username and token. Credentials are stored locally at `~/.dominion/config.json` with `0600` permissions (owner-only).
|
|
49
|
+
|
|
50
|
+
> Don't have an API token? Run `dominion login --browser` to open the Name.com API keys page.
|
|
51
|
+
|
|
52
|
+
### 2. Search for domains
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
dominion search myapp
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Returns an availability table across popular TLDs with pricing:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
Domain Price Status
|
|
62
|
+
─────────────────────────────────────
|
|
63
|
+
myapp.com $12.99 ✓ Available
|
|
64
|
+
myapp.net $11.99 ✓ Available
|
|
65
|
+
myapp.io $39.99 ✓ Available (Premium)
|
|
66
|
+
myapp.org $12.99 ✗ Taken
|
|
67
|
+
myapp.co $29.99 ✓ Available
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Filter by TLD or budget:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
dominion search myapp --tld com,io --max-price 20
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 3. Add to cart
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
dominion cart add myapp.com
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 4. Purchase
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
dominion buy
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Reviews your cart, confirms pricing, and registers all domains in a single transaction.
|
|
89
|
+
|
|
90
|
+
### 5. Manage
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
dominion domains myapp.com # View domain details
|
|
94
|
+
dominion dns myapp.com list # List DNS records
|
|
95
|
+
dominion dns myapp.com add A @ 76.76.21.21 # Point to your server
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Features
|
|
101
|
+
|
|
102
|
+
### Domain Search
|
|
103
|
+
|
|
104
|
+
Interactive TUI-powered domain search across multiple TLDs. Filter by price, filter by TLD, and add results directly to your cart.
|
|
105
|
+
|
|
106
|
+
### Shopping Cart
|
|
107
|
+
|
|
108
|
+
Persistent cart stored at `~/.dominion/cart.json`. Add, remove, and review domains before purchasing. Stale prices (older than 24 hours) are flagged automatically.
|
|
109
|
+
|
|
110
|
+
### Purchase Flow
|
|
111
|
+
|
|
112
|
+
Batch-purchase all cart items or buy a single domain directly with `dominion buy myapp.com`. Skip the confirmation prompt with `--yes` for scripted workflows.
|
|
113
|
+
|
|
114
|
+
### Domain Management
|
|
115
|
+
|
|
116
|
+
List all domains in your account, view detailed settings, expiration dates, nameserver configuration, and auto-renewal status.
|
|
117
|
+
|
|
118
|
+
### DNS Records
|
|
119
|
+
|
|
120
|
+
Full CRUD for DNS records: A, AAAA, CNAME, MX, TXT, SRV, NS, ANAME, and URL redirect. Set custom TTLs and priorities.
|
|
121
|
+
|
|
122
|
+
### Domain Settings
|
|
123
|
+
|
|
124
|
+
Configure auto-renew, domain lock, and nameservers. Switch nameservers instantly with presets:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
dominion settings myapp.com set nameservers --preset vercel
|
|
128
|
+
dominion settings myapp.com set nameservers --preset namecom
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Vercel Integration
|
|
132
|
+
|
|
133
|
+
Connect your Vercel account and link domains to projects with automatic DNS configuration:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
dominion vercel setup # Configure Vercel token
|
|
137
|
+
dominion vercel link myapp.com # Link domain to Vercel project
|
|
138
|
+
dominion vercel status # View integration status
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Team Management
|
|
142
|
+
|
|
143
|
+
Add collaborators with role-based access:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
dominion team add alice@example.com --role admin --name "Alice"
|
|
147
|
+
dominion team list
|
|
148
|
+
dominion team remove alice@example.com
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Roles: `admin`, `member`, `viewer`.
|
|
152
|
+
|
|
153
|
+
### Webhooks
|
|
154
|
+
|
|
155
|
+
Get notified when domain events occur:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
dominion webhooks add https://api.example.com/hooks --events domain.registered,dns.changed
|
|
159
|
+
dominion webhooks list
|
|
160
|
+
dominion webhooks remove <id>
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Supported events: `domain.registered`, `domain.expired`, `dns.changed`, `domain.renewed`.
|
|
164
|
+
|
|
165
|
+
### Billing
|
|
166
|
+
|
|
167
|
+
View a billing summary across all your domains:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
dominion billing
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Account
|
|
174
|
+
|
|
175
|
+
View and update your account details and WHOIS contact information:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
dominion account # View account details
|
|
179
|
+
dominion account set contact # Update WHOIS contact info interactively
|
|
180
|
+
dominion account set email new@example.com
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Command Tree
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
dominion
|
|
189
|
+
├── login [--browser] Authenticate with Name.com API credentials
|
|
190
|
+
├── logout Clear stored credentials
|
|
191
|
+
├── whoami Display authenticated user info
|
|
192
|
+
├── search <query> [--tld] [--max-price] Search for available domains
|
|
193
|
+
├── cart
|
|
194
|
+
│ ├── list View cart contents
|
|
195
|
+
│ ├── add <domain> Add a domain to your cart
|
|
196
|
+
│ ├── remove <domain> Remove a domain from your cart
|
|
197
|
+
│ └── clear Clear all items from your cart
|
|
198
|
+
├── buy [domain] [--yes] Purchase domain(s) from cart or by name
|
|
199
|
+
├── domains [domain] [--json] List domains or view domain details
|
|
200
|
+
├── dns <domain>
|
|
201
|
+
│ ├── list [--json] List DNS records
|
|
202
|
+
│ ├── add <type> <name> <value> Add a DNS record [--ttl] [--priority]
|
|
203
|
+
│ └── remove <record-id> Remove a DNS record
|
|
204
|
+
├── settings <domain>
|
|
205
|
+
│ └── set <key> <value> [--preset] Update domain settings
|
|
206
|
+
├── account
|
|
207
|
+
│ └── set
|
|
208
|
+
│ ├── contact Set or update WHOIS contact info
|
|
209
|
+
│ └── email <email> Update contact email address
|
|
210
|
+
├── billing View domain billing summary
|
|
211
|
+
├── team
|
|
212
|
+
│ ├── list List team members
|
|
213
|
+
│ ├── add <email> [--role] [--name] Add a team member
|
|
214
|
+
│ └── remove <member> Remove a team member
|
|
215
|
+
├── vercel
|
|
216
|
+
│ ├── status View Vercel integration status
|
|
217
|
+
│ ├── setup Configure Vercel integration
|
|
218
|
+
│ ├── link <domain> Link a domain to Vercel project
|
|
219
|
+
│ └── unlink <domain> Unlink a domain from Vercel project
|
|
220
|
+
├── webhooks
|
|
221
|
+
│ ├── list List configured webhooks
|
|
222
|
+
│ ├── add <url> [--events] Add a webhook
|
|
223
|
+
│ └── remove <id> Remove a webhook by ID
|
|
224
|
+
├── integrations View available integrations
|
|
225
|
+
├── credits View the credits
|
|
226
|
+
├── --version, -v Print the current version
|
|
227
|
+
└── --help, -h Display help for command
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Configuration
|
|
233
|
+
|
|
234
|
+
All data is stored in `~/.dominion/`:
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
~/.dominion/
|
|
238
|
+
├── config.json API credentials, Vercel config, preferences
|
|
239
|
+
├── cart.json Shopping cart (domains pending purchase)
|
|
240
|
+
├── team.json Team member list
|
|
241
|
+
├── webhooks.json Webhook configurations
|
|
242
|
+
└── achievements.json Unlocked achievements and usage stats
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
`config.json` is created with `0600` file permissions to protect your API credentials.
|
|
246
|
+
|
|
247
|
+
For details on each file's schema, see [docs/configuration.md](docs/configuration.md).
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## Easter Eggs
|
|
252
|
+
|
|
253
|
+
Dominion has a few surprises hidden throughout the CLI. Here are some hints:
|
|
254
|
+
|
|
255
|
+
- Try searching for some famous sci-fi domains. HAL might have something to say.
|
|
256
|
+
- There's a classic cheat code that works in the terminal. Think 1986, Konami.
|
|
257
|
+
- Run dominion on certain... unlucky dates. The CLI gets a little spooky.
|
|
258
|
+
- Somewhere in the CLI, there's a command that isn't listed. Hackers welcome.
|
|
259
|
+
- Use the CLI enough and you'll start earning achievements. Can you collect all 10?
|
|
260
|
+
|
|
261
|
+
No spoilers. Discover them yourself.
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Scripting & CI/CD
|
|
266
|
+
|
|
267
|
+
Dominion is built for automation. Use these flags to integrate with scripts and pipelines:
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
# Suppress decorative output (logos, animations)
|
|
271
|
+
dominion domains --quiet
|
|
272
|
+
|
|
273
|
+
# Disable color output (for log files and CI)
|
|
274
|
+
dominion domains --no-color
|
|
275
|
+
|
|
276
|
+
# Get machine-readable output
|
|
277
|
+
dominion domains --json
|
|
278
|
+
|
|
279
|
+
# Skip confirmation prompts
|
|
280
|
+
dominion buy --yes
|
|
281
|
+
|
|
282
|
+
# Combine for fully non-interactive operation
|
|
283
|
+
dominion domains --json --quiet --no-color
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
Pipe JSON output to `jq` for processing:
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
dominion domains --json --quiet | jq '.[].domainName'
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
Environment variable support: set `NO_COLOR=1` to disable colors globally ([no-color.org](https://no-color.org)).
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Contributing
|
|
297
|
+
|
|
298
|
+
See [docs/contributing.md](docs/contributing.md) for setup instructions, coding patterns, and the PR checklist.
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## License
|
|
303
|
+
|
|
304
|
+
[MIT](LICENSE)
|
package/dist/app.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
interface AppProps {
|
|
2
|
+
command?: string;
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
version?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Root Ink application shell.
|
|
8
|
+
* Wraps command output in the standard Layout chrome.
|
|
9
|
+
*
|
|
10
|
+
* When invoked with no command, shows the full gradient logo
|
|
11
|
+
* with tagline and version — the "welcome screen".
|
|
12
|
+
*/
|
|
13
|
+
export declare function App({ command, children, version }: AppProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export default App;
|
|
15
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"AAMA,UAAU,QAAQ;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAmBD;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,2CA6B3D;AAED,eAAe,GAAG,CAAC"}
|
package/dist/app.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { Logo } from "./components/logo.js";
|
|
4
|
+
import { Layout } from "./components/layout.js";
|
|
5
|
+
import { inkColors } from "./lib/theme.js";
|
|
6
|
+
import { AchievementManager } from "./lib/achievements.js";
|
|
7
|
+
/**
|
|
8
|
+
* Get achievement count string for the welcome screen.
|
|
9
|
+
*/
|
|
10
|
+
function getAchievementStatus() {
|
|
11
|
+
try {
|
|
12
|
+
const am = new AchievementManager();
|
|
13
|
+
const unlocked = am.getUnlockedCount();
|
|
14
|
+
const total = am.getTotalCount();
|
|
15
|
+
if (unlocked > 0) {
|
|
16
|
+
return { unlocked, total };
|
|
17
|
+
}
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Root Ink application shell.
|
|
26
|
+
* Wraps command output in the standard Layout chrome.
|
|
27
|
+
*
|
|
28
|
+
* When invoked with no command, shows the full gradient logo
|
|
29
|
+
* with tagline and version — the "welcome screen".
|
|
30
|
+
*/
|
|
31
|
+
export function App({ command, children, version }) {
|
|
32
|
+
const achievementStatus = getAchievementStatus();
|
|
33
|
+
return (_jsx(Layout, { showHeader: false, children: children ?? (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Logo, { showTagline: true, version: version }), command && (_jsxs(Text, { color: inkColors.muted, children: ["Running: ", command] })), _jsxs(Text, { color: inkColors.muted, children: ["Run ", _jsx(Text, { bold: true, color: inkColors.white, children: "dominion --help" }), " to see available commands."] }), achievementStatus && (_jsxs(Text, { color: "yellow", children: ["\uD83C\uDFC6 ", achievementStatus.unlocked, "/", achievementStatus.total, " achievements unlocked"] }))] })) }));
|
|
34
|
+
}
|
|
35
|
+
export default App;
|
|
36
|
+
//# sourceMappingURL=app.js.map
|
package/dist/app.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAQ3D;;GAEG;AACH,SAAS,oBAAoB;IAC3B,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;QACjC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAY;IAC1D,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IAEjD,OAAO,CACL,KAAC,MAAM,IAAC,UAAU,EAAE,KAAK,YACtB,QAAQ,IAAI,CACX,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAEhC,KAAC,IAAI,IAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAI,EAE5C,OAAO,IAAI,CACV,MAAC,IAAI,IAAC,KAAK,EAAE,SAAS,CAAC,KAAK,0BAChB,OAAO,IACZ,CACR,EAED,MAAC,IAAI,IAAC,KAAK,EAAE,SAAS,CAAC,KAAK,qBACtB,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,SAAS,CAAC,KAAK,gCAAwB,mCACxD,EAEN,iBAAiB,IAAI,CACpB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,8BACd,iBAAiB,CAAC,QAAQ,OAAG,iBAAiB,CAAC,KAAK,8BACnD,CACR,IACG,CACP,GACM,CACV,CAAC;AACJ,CAAC;AAED,eAAe,GAAG,CAAC"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Dominion CLI — premium domain management from the terminal.
|
|
4
|
+
*
|
|
5
|
+
* Entry point: uses Commander for arg parsing and command routing.
|
|
6
|
+
* Each command renders an Ink component for rich TUI output.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}
|