@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.
Files changed (59) hide show
  1. package/README.md +61 -58
  2. package/dist/cli.js +866 -597
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/backups/command.d.ts.map +1 -1
  5. package/dist/commands/backups/handlers.d.ts +1 -0
  6. package/dist/commands/backups/handlers.d.ts.map +1 -1
  7. package/dist/commands/backups/help.d.ts.map +1 -1
  8. package/dist/commands/certificates/command.d.ts.map +1 -1
  9. package/dist/commands/certificates/handlers.d.ts +0 -1
  10. package/dist/commands/certificates/handlers.d.ts.map +1 -1
  11. package/dist/commands/certificates/help.d.ts.map +1 -1
  12. package/dist/commands/commands/handlers.d.ts.map +1 -1
  13. package/dist/commands/completion.d.ts.map +1 -1
  14. package/dist/commands/config.d.ts +1 -1
  15. package/dist/commands/config.d.ts.map +1 -1
  16. package/dist/commands/daemons/command.d.ts.map +1 -1
  17. package/dist/commands/daemons/handlers.d.ts +1 -0
  18. package/dist/commands/daemons/handlers.d.ts.map +1 -1
  19. package/dist/commands/daemons/help.d.ts.map +1 -1
  20. package/dist/commands/database-users/command.d.ts.map +1 -1
  21. package/dist/commands/database-users/handlers.d.ts +1 -0
  22. package/dist/commands/database-users/handlers.d.ts.map +1 -1
  23. package/dist/commands/database-users/help.d.ts.map +1 -1
  24. package/dist/commands/deployments/handlers.d.ts.map +1 -1
  25. package/dist/commands/deployments/help.d.ts.map +1 -1
  26. package/dist/commands/monitors/handlers.d.ts.map +1 -1
  27. package/dist/commands/recipes/command.d.ts.map +1 -1
  28. package/dist/commands/recipes/handlers.d.ts +1 -0
  29. package/dist/commands/recipes/handlers.d.ts.map +1 -1
  30. package/dist/commands/recipes/help.d.ts.map +1 -1
  31. package/dist/commands/redirect-rules/handlers.d.ts.map +1 -1
  32. package/dist/commands/scheduled-jobs/handlers.d.ts.map +1 -1
  33. package/dist/commands/security-rules/command.d.ts.map +1 -1
  34. package/dist/commands/security-rules/handlers.d.ts +1 -0
  35. package/dist/commands/security-rules/handlers.d.ts.map +1 -1
  36. package/dist/commands/security-rules/help.d.ts.map +1 -1
  37. package/dist/commands/sites/command.d.ts.map +1 -1
  38. package/dist/commands/sites/handlers.d.ts +1 -0
  39. package/dist/commands/sites/handlers.d.ts.map +1 -1
  40. package/dist/commands/ssh-keys/handlers.d.ts.map +1 -1
  41. package/dist/config.d.ts +2 -2
  42. package/dist/config.d.ts.map +1 -1
  43. package/dist/context.d.ts.map +1 -1
  44. package/dist/{error-handler-BahHMt6t.js → error-handler-ByMitiOr.js} +24 -13
  45. package/dist/error-handler-ByMitiOr.js.map +1 -0
  46. package/dist/error-handler.d.ts +1 -1
  47. package/dist/error-handler.d.ts.map +1 -1
  48. package/dist/errors.d.ts +1 -1
  49. package/dist/errors.d.ts.map +1 -1
  50. package/dist/index.js +1 -1
  51. package/dist/output.d.ts.map +1 -1
  52. package/dist/types.d.ts +1 -0
  53. package/dist/types.d.ts.map +1 -1
  54. package/dist/utils/args.d.ts +1 -0
  55. package/dist/utils/args.d.ts.map +1 -1
  56. package/dist/utils/command-router.d.ts.map +1 -1
  57. package/dist/utils/resolve.d.ts.map +1 -1
  58. package/package.json +4 -4
  59. 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 argument**: `--token <token>`
22
- 2. **Environment variable**: `FORGE_API_TOKEN`
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-cli config set YOUR_FORGE_TOKEN
27
- forge-cli config get
28
- forge-cli config delete
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-cli <command> [subcommand] [options]
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-cli <command> --help` for detailed usage of each command.
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-cli config set YOUR_FORGE_TOKEN
75
+ forge config set YOUR_FORGE_TOKEN
75
76
 
76
77
  # List all servers
77
- forge-cli servers list
78
+ forge servers list
78
79
 
79
80
  # List sites on a server
80
- forge-cli sites list --server 123
81
+ forge sites list --server 123
81
82
 
82
83
  # Deploy a site
83
- forge-cli deployments deploy --server 123 --site 456
84
+ forge deployments deploy --server 123 --site 456
84
85
 
85
86
  # Get environment variables
86
- forge-cli env get --server 123 --site 456
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-cli servers list --format json
101
- forge-cli sites list --server 123 --format table
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-cli config set <token> # Save API token to config file
110
- forge-cli config get # Show current token (masked)
111
- forge-cli config delete # Delete stored token
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-cli servers list # List all servers
118
- forge-cli servers get <id> # Get server details
119
- forge-cli servers reboot <id> # Reboot a server
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-cli sites list --server <id> # List sites on a server
126
- forge-cli sites get <site_id> --server <id> # Get site details
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-cli deployments list --server <id> --site <id> # List deployments
133
- forge-cli deployments deploy --server <id> --site <id> # Trigger a deployment
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-cli databases list --server <id> # List databases
142
- forge-cli databases get <db_id> --server <id> # Get database details
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-cli daemons list --server <id> # List daemons
149
- forge-cli daemons get <daemon_id> --server <id> # Get daemon details
150
- forge-cli daemons restart <daemon_id> --server <id> # Restart a daemon
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-cli env get --server <id> --site <id> # Get .env content
157
- forge-cli env update --server <id> --site <id> --content "KEY=value" # Update .env
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-cli nginx get --server <id> --site <id> # Get Nginx config
164
- forge-cli nginx update --server <id> --site <id> --content "server { ... }" # Update Nginx config
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-cli certificates list --server <id> --site <id> # List certificates
171
- forge-cli certificates get <cert_id> --server <id> --site <id> # Get certificate details
172
- forge-cli certificates activate <cert_id> --server <id> --site <id> # Activate a certificate
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-cli firewall-rules list --server <id> # List firewall rules
179
- forge-cli firewall-rules get <rule_id> --server <id> # Get rule details
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-cli ssh-keys list --server <id> # List SSH keys
186
- forge-cli ssh-keys get <key_id> --server <id> # Get SSH key details
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-cli recipes list # List all recipes
193
- forge-cli recipes get <id> # Get recipe details
194
- forge-cli recipes run <id> --servers 123,456 # Run recipe on servers
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-cli completion bash # Install Bash completion
201
- forge-cli completion zsh # Install Zsh completion
202
- forge-cli completion fish # Install Fish completion
203
- forge-cli completion bash --print # Print script without installing
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
- | `--server <id>` | | Server ID (required for server-scoped commands) |
216
- | `--site <id>` | | Site ID (required for site-scoped commands) |
217
- | `--format <fmt>` | `-f` | Output format: `json`, `human`, `table` |
218
- | `--no-color` | | Disable colored output |
219
- | `--help` | `-h` | Show help |
220
- | `--version` | `-v` | Show version |
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-cli servers list --format json
235
+ forge servers list --format json
233
236
 
234
237
  # Deploy and capture output
235
- forge-cli deployments deploy --server 123 --site 456 --format json
238
+ forge deployments deploy --server 123 --site 456 --format json
236
239
  ```
237
240
 
238
241
  ## Requirements