@studiometa/forge-cli 0.2.5 → 0.4.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 +61 -58
- package/dist/cli.js +866 -597
- package/dist/cli.js.map +1 -1
- package/dist/commands/backups/command.d.ts.map +1 -1
- package/dist/commands/backups/handlers.d.ts +1 -0
- package/dist/commands/backups/handlers.d.ts.map +1 -1
- package/dist/commands/backups/help.d.ts.map +1 -1
- package/dist/commands/certificates/command.d.ts.map +1 -1
- package/dist/commands/certificates/handlers.d.ts +0 -1
- package/dist/commands/certificates/handlers.d.ts.map +1 -1
- package/dist/commands/certificates/help.d.ts.map +1 -1
- package/dist/commands/commands/handlers.d.ts.map +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/config.d.ts +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/daemons/command.d.ts.map +1 -1
- package/dist/commands/daemons/handlers.d.ts +1 -0
- package/dist/commands/daemons/handlers.d.ts.map +1 -1
- package/dist/commands/daemons/help.d.ts.map +1 -1
- package/dist/commands/database-users/command.d.ts.map +1 -1
- package/dist/commands/database-users/handlers.d.ts +1 -0
- package/dist/commands/database-users/handlers.d.ts.map +1 -1
- package/dist/commands/database-users/help.d.ts.map +1 -1
- package/dist/commands/deployments/handlers.d.ts.map +1 -1
- package/dist/commands/deployments/help.d.ts.map +1 -1
- package/dist/commands/monitors/handlers.d.ts.map +1 -1
- package/dist/commands/recipes/command.d.ts.map +1 -1
- package/dist/commands/recipes/handlers.d.ts +1 -0
- package/dist/commands/recipes/handlers.d.ts.map +1 -1
- package/dist/commands/recipes/help.d.ts.map +1 -1
- package/dist/commands/redirect-rules/handlers.d.ts.map +1 -1
- package/dist/commands/scheduled-jobs/handlers.d.ts.map +1 -1
- package/dist/commands/security-rules/command.d.ts.map +1 -1
- package/dist/commands/security-rules/handlers.d.ts +1 -0
- package/dist/commands/security-rules/handlers.d.ts.map +1 -1
- package/dist/commands/security-rules/help.d.ts.map +1 -1
- package/dist/commands/sites/command.d.ts.map +1 -1
- package/dist/commands/sites/handlers.d.ts +1 -0
- package/dist/commands/sites/handlers.d.ts.map +1 -1
- package/dist/commands/ssh-keys/handlers.d.ts.map +1 -1
- package/dist/config.d.ts +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/{error-handler-BahHMt6t.js → error-handler-ByMitiOr.js} +24 -13
- package/dist/error-handler-ByMitiOr.js.map +1 -0
- package/dist/error-handler.d.ts +1 -1
- package/dist/error-handler.d.ts.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/output.d.ts.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/args.d.ts +1 -0
- package/dist/utils/args.d.ts.map +1 -1
- package/dist/utils/command-router.d.ts.map +1 -1
- package/dist/utils/resolve.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/error-handler-BahHMt6t.js.map +0 -1
package/README.md
CHANGED
|
@@ -18,14 +18,15 @@ npx @studiometa/forge-cli --help
|
|
|
18
18
|
|
|
19
19
|
Credentials can be provided in three ways (highest priority first):
|
|
20
20
|
|
|
21
|
-
1. **CLI
|
|
22
|
-
2. **Environment
|
|
21
|
+
1. **CLI flags**: `--token <token>`, `--org <slug>`
|
|
22
|
+
2. **Environment variables**: `FORGE_API_TOKEN`, `FORGE_ORG`
|
|
23
23
|
3. **Config file** (XDG-compliant):
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
forge
|
|
27
|
-
forge
|
|
28
|
-
forge
|
|
26
|
+
forge config set apiToken YOUR_FORGE_TOKEN
|
|
27
|
+
forge config set organizationSlug your-org-slug
|
|
28
|
+
forge config get
|
|
29
|
+
forge config delete
|
|
29
30
|
```
|
|
30
31
|
|
|
31
32
|
| Platform | Config path |
|
|
@@ -37,7 +38,7 @@ forge-cli config delete
|
|
|
37
38
|
## Commands
|
|
38
39
|
|
|
39
40
|
```
|
|
40
|
-
forge
|
|
41
|
+
forge <command> [subcommand] [options]
|
|
41
42
|
```
|
|
42
43
|
|
|
43
44
|
| Command | Alias | Description |
|
|
@@ -65,25 +66,25 @@ forge-cli <command> [subcommand] [options]
|
|
|
65
66
|
| `user` | | Get the authenticated user's profile |
|
|
66
67
|
| `completion` | | Install shell completion (bash, zsh, fish) |
|
|
67
68
|
|
|
68
|
-
Run `forge
|
|
69
|
+
Run `forge <command> --help` for detailed usage of each command.
|
|
69
70
|
|
|
70
71
|
## Quick Start
|
|
71
72
|
|
|
72
73
|
```bash
|
|
73
74
|
# Save your API token
|
|
74
|
-
forge
|
|
75
|
+
forge config set YOUR_FORGE_TOKEN
|
|
75
76
|
|
|
76
77
|
# List all servers
|
|
77
|
-
forge
|
|
78
|
+
forge servers list
|
|
78
79
|
|
|
79
80
|
# List sites on a server
|
|
80
|
-
forge
|
|
81
|
+
forge sites list --server 123
|
|
81
82
|
|
|
82
83
|
# Deploy a site
|
|
83
|
-
forge
|
|
84
|
+
forge deployments deploy --server 123 --site 456
|
|
84
85
|
|
|
85
86
|
# Get environment variables
|
|
86
|
-
forge
|
|
87
|
+
forge env get --server 123 --site 456
|
|
87
88
|
```
|
|
88
89
|
|
|
89
90
|
## Output Formats
|
|
@@ -97,8 +98,8 @@ All list/get commands support `--format`:
|
|
|
97
98
|
| Table | `--format table` | ASCII table |
|
|
98
99
|
|
|
99
100
|
```bash
|
|
100
|
-
forge
|
|
101
|
-
forge
|
|
101
|
+
forge servers list --format json
|
|
102
|
+
forge sites list --server 123 --format table
|
|
102
103
|
```
|
|
103
104
|
|
|
104
105
|
## Command Reference
|
|
@@ -106,31 +107,32 @@ forge-cli sites list --server 123 --format table
|
|
|
106
107
|
### `config` — Manage configuration
|
|
107
108
|
|
|
108
109
|
```bash
|
|
109
|
-
forge
|
|
110
|
-
forge
|
|
111
|
-
forge
|
|
110
|
+
forge config set apiToken <token> # Save API token
|
|
111
|
+
forge config set organizationSlug <slug> # Save organization slug
|
|
112
|
+
forge config get # Show current config (masked)
|
|
113
|
+
forge config delete # Delete all stored config
|
|
112
114
|
```
|
|
113
115
|
|
|
114
116
|
### `servers` (`s`) — Manage servers
|
|
115
117
|
|
|
116
118
|
```bash
|
|
117
|
-
forge
|
|
118
|
-
forge
|
|
119
|
-
forge
|
|
119
|
+
forge servers list # List all servers
|
|
120
|
+
forge servers get <id> # Get server details
|
|
121
|
+
forge servers reboot <id> # Reboot a server
|
|
120
122
|
```
|
|
121
123
|
|
|
122
124
|
### `sites` — Manage sites
|
|
123
125
|
|
|
124
126
|
```bash
|
|
125
|
-
forge
|
|
126
|
-
forge
|
|
127
|
+
forge sites list --server <id> # List sites on a server
|
|
128
|
+
forge sites get <site_id> --server <id> # Get site details
|
|
127
129
|
```
|
|
128
130
|
|
|
129
131
|
### `deployments` (`d`) — Manage deployments
|
|
130
132
|
|
|
131
133
|
```bash
|
|
132
|
-
forge
|
|
133
|
-
forge
|
|
134
|
+
forge deployments list --server <id> --site <id> # List deployments
|
|
135
|
+
forge deployments deploy --server <id> --site <id> # Trigger a deployment
|
|
134
136
|
```
|
|
135
137
|
|
|
136
138
|
The `deploy` command waits for deployment to complete, showing live progress. On completion it prints the deployment log and elapsed time.
|
|
@@ -138,69 +140,69 @@ The `deploy` command waits for deployment to complete, showing live progress. On
|
|
|
138
140
|
### `databases` (`db`) — Manage databases
|
|
139
141
|
|
|
140
142
|
```bash
|
|
141
|
-
forge
|
|
142
|
-
forge
|
|
143
|
+
forge databases list --server <id> # List databases
|
|
144
|
+
forge databases get <db_id> --server <id> # Get database details
|
|
143
145
|
```
|
|
144
146
|
|
|
145
147
|
### `daemons` — Manage background processes
|
|
146
148
|
|
|
147
149
|
```bash
|
|
148
|
-
forge
|
|
149
|
-
forge
|
|
150
|
-
forge
|
|
150
|
+
forge daemons list --server <id> # List daemons
|
|
151
|
+
forge daemons get <daemon_id> --server <id> # Get daemon details
|
|
152
|
+
forge daemons restart <daemon_id> --server <id> # Restart a daemon
|
|
151
153
|
```
|
|
152
154
|
|
|
153
155
|
### `env` — Manage environment variables
|
|
154
156
|
|
|
155
157
|
```bash
|
|
156
|
-
forge
|
|
157
|
-
forge
|
|
158
|
+
forge env get --server <id> --site <id> # Get .env content
|
|
159
|
+
forge env update --server <id> --site <id> --content "KEY=value" # Update .env
|
|
158
160
|
```
|
|
159
161
|
|
|
160
162
|
### `nginx` — Manage Nginx configuration
|
|
161
163
|
|
|
162
164
|
```bash
|
|
163
|
-
forge
|
|
164
|
-
forge
|
|
165
|
+
forge nginx get --server <id> --site <id> # Get Nginx config
|
|
166
|
+
forge nginx update --server <id> --site <id> --content "server { ... }" # Update Nginx config
|
|
165
167
|
```
|
|
166
168
|
|
|
167
169
|
### `certificates` (`certs`) — Manage SSL certificates
|
|
168
170
|
|
|
169
171
|
```bash
|
|
170
|
-
forge
|
|
171
|
-
forge
|
|
172
|
-
forge
|
|
172
|
+
forge certificates list --server <id> --site <id> # List certificates
|
|
173
|
+
forge certificates get <cert_id> --server <id> --site <id> # Get certificate details
|
|
174
|
+
forge certificates activate <cert_id> --server <id> --site <id> # Activate a certificate
|
|
173
175
|
```
|
|
174
176
|
|
|
175
177
|
### `firewall-rules` (`fw`) — Manage firewall rules
|
|
176
178
|
|
|
177
179
|
```bash
|
|
178
|
-
forge
|
|
179
|
-
forge
|
|
180
|
+
forge firewall-rules list --server <id> # List firewall rules
|
|
181
|
+
forge firewall-rules get <rule_id> --server <id> # Get rule details
|
|
180
182
|
```
|
|
181
183
|
|
|
182
184
|
### `ssh-keys` — Manage SSH keys
|
|
183
185
|
|
|
184
186
|
```bash
|
|
185
|
-
forge
|
|
186
|
-
forge
|
|
187
|
+
forge ssh-keys list --server <id> # List SSH keys
|
|
188
|
+
forge ssh-keys get <key_id> --server <id> # Get SSH key details
|
|
187
189
|
```
|
|
188
190
|
|
|
189
191
|
### `recipes` — Manage recipes
|
|
190
192
|
|
|
191
193
|
```bash
|
|
192
|
-
forge
|
|
193
|
-
forge
|
|
194
|
-
forge
|
|
194
|
+
forge recipes list # List all recipes
|
|
195
|
+
forge recipes get <id> # Get recipe details
|
|
196
|
+
forge recipes run <id> --servers 123,456 # Run recipe on servers
|
|
195
197
|
```
|
|
196
198
|
|
|
197
199
|
### `completion` — Shell completion
|
|
198
200
|
|
|
199
201
|
```bash
|
|
200
|
-
forge
|
|
201
|
-
forge
|
|
202
|
-
forge
|
|
203
|
-
forge
|
|
202
|
+
forge completion bash # Install Bash completion
|
|
203
|
+
forge completion zsh # Install Zsh completion
|
|
204
|
+
forge completion fish # Install Fish completion
|
|
205
|
+
forge completion bash --print # Print script without installing
|
|
204
206
|
```
|
|
205
207
|
|
|
206
208
|
## Audit Logging
|
|
@@ -209,15 +211,16 @@ All write operations (`deploy`, `create`, `delete`, `reboot`, `restart`, `update
|
|
|
209
211
|
|
|
210
212
|
## Global Options
|
|
211
213
|
|
|
212
|
-
| Option | Alias | Description
|
|
213
|
-
| ----------------- | ----- |
|
|
214
|
-
| `--token <token>` | | Forge API token (overrides config and env)
|
|
215
|
-
| `--
|
|
216
|
-
| `--
|
|
217
|
-
| `--
|
|
218
|
-
| `--
|
|
219
|
-
| `--
|
|
220
|
-
| `--
|
|
214
|
+
| Option | Alias | Description |
|
|
215
|
+
| ----------------- | ----- | ------------------------------------------------ |
|
|
216
|
+
| `--token <token>` | | Forge API token (overrides config and env) |
|
|
217
|
+
| `--org <slug>` | | Organization slug (overrides config and env) |
|
|
218
|
+
| `--server <id>` | | Server ID or name (auto-resolved if non-numeric) |
|
|
219
|
+
| `--site <id>` | | Site ID or domain (auto-resolved if non-numeric) |
|
|
220
|
+
| `--format <fmt>` | `-f` | Output format: `json`, `human`, `table` |
|
|
221
|
+
| `--no-color` | | Disable colored output |
|
|
222
|
+
| `--help` | `-h` | Show help |
|
|
223
|
+
| `--version` | `-v` | Show version |
|
|
221
224
|
|
|
222
225
|
## AI Agent Integration
|
|
223
226
|
|
|
@@ -229,10 +232,10 @@ The CLI is designed for programmatic use by AI agents:
|
|
|
229
232
|
|
|
230
233
|
```bash
|
|
231
234
|
# Get all servers as JSON
|
|
232
|
-
forge
|
|
235
|
+
forge servers list --format json
|
|
233
236
|
|
|
234
237
|
# Deploy and capture output
|
|
235
|
-
forge
|
|
238
|
+
forge deployments deploy --server 123 --site 456 --format json
|
|
236
239
|
```
|
|
237
240
|
|
|
238
241
|
## Requirements
|