@polterware/polter 0.5.0 → 0.5.1
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 +71 -115
- package/package.json +9 -2
package/README.md
CHANGED
|
@@ -6,21 +6,22 @@
|
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
[](https://nodejs.org/)
|
|
8
8
|
|
|
9
|
-
An
|
|
9
|
+
An infrastructure orchestrator CLI for managing dev processes, pipelines, CLI commands (Supabase, GitHub, Vercel, Git), and packages from one unified interface.
|
|
10
10
|
|
|
11
|
-
Polter
|
|
11
|
+
Polter replaces the need to juggle multiple CLIs. Browse a tabbed command board, chain steps into reusable pipelines, manage background processes, and apply declarative project configuration — all from a single TUI.
|
|
12
12
|
|
|
13
13
|
## Features
|
|
14
14
|
|
|
15
|
-
- **
|
|
16
|
-
- **
|
|
17
|
-
- **
|
|
18
|
-
- **
|
|
19
|
-
- **
|
|
20
|
-
- **
|
|
15
|
+
- **Multi-Tool Command Board**: Browse and run commands across Supabase, GitHub (`gh`), Vercel, Git, and your package manager from one tabbed interface
|
|
16
|
+
- **Pipelines**: Chain multiple commands into reusable, sequential workflows with progress tracking
|
|
17
|
+
- **Process Management**: Start, monitor, and control background dev servers and scripts
|
|
18
|
+
- **Declarative Configuration**: Define desired project state in `polter.yaml` and apply it with `polter plan` / `polter apply`
|
|
19
|
+
- **Interactive Arg Builder**: Guided flow for command + subcommand + extra args with suggested picks and flag selection
|
|
20
|
+
- **Pinned Commands and Runs**: Toggle base command pins with `→` and pin exact runs after success for one-click reuse
|
|
21
|
+
- **Package Manager Detection**: Auto-detects npm/pnpm/yarn/bun from lockfiles and translates commands between managers
|
|
22
|
+
- **MCP Server**: Expose Polter as an MCP server for AI tool integration (Claude Code, Cursor, etc.)
|
|
21
23
|
- **Built-in Self-Update**: Update Polter for the current repository or globally through npm
|
|
22
|
-
- **
|
|
23
|
-
- **TypeScript-based CLI**: Strongly typed internal implementation
|
|
24
|
+
- **TypeScript-based CLI**: Strongly typed internal implementation with React + Ink TUI
|
|
24
25
|
|
|
25
26
|
---
|
|
26
27
|
|
|
@@ -85,32 +86,36 @@ You can also run the same update flow from inside Polter:
|
|
|
85
86
|
## Requirements
|
|
86
87
|
|
|
87
88
|
- **Node.js**: `>= 18`
|
|
88
|
-
|
|
89
|
+
|
|
90
|
+
CLI tools are optional. Polter detects which ones are installed and shows their status on the Tool Status screen:
|
|
91
|
+
|
|
92
|
+
- **Supabase CLI** — [Install guide](https://supabase.com/docs/guides/cli)
|
|
93
|
+
- **GitHub CLI (`gh`)** — [Install guide](https://cli.github.com/)
|
|
94
|
+
- **Vercel CLI** — [Install guide](https://vercel.com/docs/cli)
|
|
95
|
+
- **Package manager** — auto-detected from your lock file (npm, pnpm, yarn, or bun)
|
|
89
96
|
|
|
90
97
|
Check your environment:
|
|
91
98
|
|
|
92
99
|
```bash
|
|
93
100
|
node -v
|
|
94
101
|
supabase --version
|
|
102
|
+
gh --version
|
|
103
|
+
vercel --version
|
|
95
104
|
```
|
|
96
105
|
|
|
97
|
-
Install Supabase CLI (official docs):
|
|
98
|
-
|
|
99
|
-
- [Supabase CLI Guide](https://supabase.com/docs/guides/cli)
|
|
100
|
-
|
|
101
106
|
---
|
|
102
107
|
|
|
103
108
|
## Quick Reference
|
|
104
109
|
|
|
105
110
|
### Execution Model
|
|
106
111
|
|
|
107
|
-
Polter executes
|
|
112
|
+
Polter resolves the appropriate CLI tool and executes commands as:
|
|
108
113
|
|
|
109
114
|
```bash
|
|
110
|
-
|
|
115
|
+
<tool> <command> <extra-args> <flags>
|
|
111
116
|
```
|
|
112
117
|
|
|
113
|
-
The self-update action is the only built-in exception and can run one of:
|
|
118
|
+
where `<tool>` is one of `supabase`, `gh`, `vercel`, `git`, or your package manager. The self-update action is the only built-in exception and can run one of:
|
|
114
119
|
|
|
115
120
|
```bash
|
|
116
121
|
npm install -g @polterware/polter@latest
|
|
@@ -132,72 +137,27 @@ npm install -D @polterware/polter@latest
|
|
|
132
137
|
|
|
133
138
|
## Command Categories
|
|
134
139
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
- `bootstrap` - Bootstrap a Supabase project from a starter template
|
|
138
|
-
|
|
139
|
-
### Local Development
|
|
140
|
-
|
|
141
|
-
- `db` - Manage Postgres databases
|
|
142
|
-
- `gen` - Run code generation tools
|
|
143
|
-
- `init` - Initialize a local project
|
|
144
|
-
- `inspect` - Inspect Supabase project resources
|
|
145
|
-
- `link` - Link local project to remote Supabase project
|
|
146
|
-
- `login` - Authenticate with Supabase access token
|
|
147
|
-
- `logout` - Remove local auth token
|
|
148
|
-
- `migration` - Manage migration scripts
|
|
149
|
-
- `seed` - Seed project from `supabase/config.toml`
|
|
150
|
-
- `services` - Show local service versions
|
|
151
|
-
- `start` - Start local Supabase containers
|
|
152
|
-
- `status` - Show local container status
|
|
153
|
-
- `stop` - Stop local Supabase containers
|
|
154
|
-
- `test` - Run tests against local stack
|
|
155
|
-
- `unlink` - Unlink local project
|
|
156
|
-
|
|
157
|
-
### Management APIs
|
|
158
|
-
|
|
159
|
-
- `backups`
|
|
160
|
-
- `branches`
|
|
161
|
-
- `config`
|
|
162
|
-
- `domains`
|
|
163
|
-
- `encryption`
|
|
164
|
-
- `functions`
|
|
165
|
-
- `network-bans`
|
|
166
|
-
- `network-restrictions`
|
|
167
|
-
- `orgs`
|
|
168
|
-
- `postgres-config`
|
|
169
|
-
- `projects`
|
|
170
|
-
- `secrets`
|
|
171
|
-
- `snippets`
|
|
172
|
-
- `ssl-enforcement`
|
|
173
|
-
- `sso`
|
|
174
|
-
- `storage`
|
|
175
|
-
- `vanity-subdomains`
|
|
176
|
-
|
|
177
|
-
### Additional Commands
|
|
178
|
-
|
|
179
|
-
- `completion` - Generate shell completion script
|
|
180
|
-
- `help` - Show Supabase command help
|
|
181
|
-
|
|
182
|
-
### Custom Command / Check Version
|
|
183
|
-
|
|
184
|
-
Use this mode for free-form args like:
|
|
185
|
-
|
|
186
|
-
- `-v`
|
|
187
|
-
- `status -o json`
|
|
188
|
-
- `db pull`
|
|
189
|
-
- `projects list`
|
|
140
|
+
Commands are organized into 9 feature groups in the TUI. Each group pulls from one or more CLI tools.
|
|
190
141
|
|
|
191
|
-
|
|
142
|
+
| Group | Tools | Representative commands |
|
|
143
|
+
| --- | --- | --- |
|
|
144
|
+
| **Database** | Supabase | `supabase db pull`, `supabase migration list`, `supabase seed`, `supabase inspect` |
|
|
145
|
+
| **Functions** | Supabase | `supabase functions serve`, `supabase functions deploy`, `supabase functions delete` |
|
|
146
|
+
| **Deploy** | Vercel, Git, Supabase | `vercel deploy --prod`, `vercel promote`, `vercel rollback`, `git push` |
|
|
147
|
+
| **Repo** | Git, GitHub | `git status`, `git commit`, `gh pr create`, `gh issue list`, `gh release create` |
|
|
148
|
+
| **CI/CD** | GitHub, Vercel | `gh workflow run`, `gh run view`, `vercel env pull`, `vercel env add` |
|
|
149
|
+
| **Auth & Storage** | Supabase | `supabase storage`, `supabase secrets`, `supabase sso` |
|
|
150
|
+
| **Networking** | Supabase, Vercel | `supabase domains`, `supabase ssl-enforcement`, `vercel domains add` |
|
|
151
|
+
| **Packages** | npm/pnpm/yarn/bun | `pkg install`, `pkg add`, `pkg audit`, `pkg publish`, `pkg version patch` |
|
|
152
|
+
| **Setup** | All | `supabase init`, `supabase link`, `vercel login`, `gh auth login` |
|
|
153
|
+
|
|
154
|
+
The board currently exposes **107 commands** across 5 CLI tools. Use the TUI tabs to browse a specific group or search across all of them.
|
|
192
155
|
|
|
193
|
-
|
|
156
|
+
---
|
|
194
157
|
|
|
195
|
-
|
|
158
|
+
## Flags
|
|
196
159
|
|
|
197
|
-
- `--
|
|
198
|
-
- `--debug` - Enable debug logs
|
|
199
|
-
- `--experimental` - Enable experimental features
|
|
200
|
-
- `--yes` - Auto-confirm prompts
|
|
160
|
+
Flags are tool-specific. When you select a command, the interactive flag picker shows the available flags for that tool (e.g. `--debug` for Supabase, `--force` for Vercel, `--web` for GitHub CLI). You can also type custom flags in the extra-args input.
|
|
201
161
|
|
|
202
162
|
---
|
|
203
163
|
|
|
@@ -220,80 +180,76 @@ Pins are persisted locally using OS-level app config storage.
|
|
|
220
180
|
|
|
221
181
|
## Usage Examples
|
|
222
182
|
|
|
223
|
-
###
|
|
224
|
-
|
|
225
|
-
Interactive path:
|
|
226
|
-
|
|
227
|
-
1. `Custom Command / Check Version`
|
|
228
|
-
2. Input: `-v`
|
|
229
|
-
|
|
230
|
-
Executed command:
|
|
183
|
+
### Run a pipeline
|
|
231
184
|
|
|
232
185
|
```bash
|
|
233
|
-
|
|
186
|
+
polter pipeline run deploy-staging
|
|
234
187
|
```
|
|
235
188
|
|
|
236
|
-
|
|
189
|
+
Executes each step of the `deploy-staging` pipeline in sequence, showing progress as it goes.
|
|
190
|
+
|
|
191
|
+
### Deploy to Vercel
|
|
237
192
|
|
|
238
193
|
Interactive path:
|
|
239
194
|
|
|
240
|
-
1.
|
|
241
|
-
2. Command: `
|
|
242
|
-
3.
|
|
243
|
-
4. Flags: `--debug`
|
|
195
|
+
1. **Deploy** tab
|
|
196
|
+
2. Command: `vercel deploy --prod`
|
|
197
|
+
3. Confirm and execute
|
|
244
198
|
|
|
245
199
|
Executed command:
|
|
246
200
|
|
|
247
201
|
```bash
|
|
248
|
-
|
|
202
|
+
vercel deploy --prod
|
|
249
203
|
```
|
|
250
204
|
|
|
251
|
-
###
|
|
205
|
+
### Create a GitHub PR
|
|
252
206
|
|
|
253
207
|
Interactive path:
|
|
254
208
|
|
|
255
|
-
1.
|
|
256
|
-
2. Command: `
|
|
257
|
-
3. Extra args: `
|
|
209
|
+
1. **Repo** tab
|
|
210
|
+
2. Command: `gh pr create`
|
|
211
|
+
3. Extra args: `--fill`
|
|
258
212
|
|
|
259
213
|
Executed command:
|
|
260
214
|
|
|
261
215
|
```bash
|
|
262
|
-
|
|
216
|
+
gh pr create --fill
|
|
263
217
|
```
|
|
264
218
|
|
|
265
|
-
###
|
|
219
|
+
### Install a dependency
|
|
266
220
|
|
|
267
221
|
Interactive path:
|
|
268
222
|
|
|
269
|
-
1.
|
|
270
|
-
2. Command: `
|
|
271
|
-
3. Extra args: `
|
|
272
|
-
4. Flags: `--yes`
|
|
223
|
+
1. **Packages** tab
|
|
224
|
+
2. Command: `pkg add`
|
|
225
|
+
3. Extra args: `zod`
|
|
273
226
|
|
|
274
|
-
Executed command:
|
|
227
|
+
Executed command (resolved for your package manager):
|
|
275
228
|
|
|
276
229
|
```bash
|
|
277
|
-
|
|
230
|
+
npm install zod # npm
|
|
231
|
+
pnpm add zod # pnpm
|
|
232
|
+
yarn add zod # yarn
|
|
233
|
+
bun add zod # bun
|
|
278
234
|
```
|
|
279
235
|
|
|
280
236
|
---
|
|
281
237
|
|
|
282
238
|
## Troubleshooting
|
|
283
239
|
|
|
284
|
-
###
|
|
240
|
+
### CLI tool not found
|
|
285
241
|
|
|
286
|
-
Supabase
|
|
242
|
+
If a tool (Supabase, `gh`, Vercel) is not installed, its commands will still appear in the board but will fail at execution. Open the **Tool Status** screen to see which tools are detected and linked.
|
|
287
243
|
|
|
288
244
|
Fix:
|
|
289
245
|
|
|
290
|
-
1. Install
|
|
291
|
-
2. Restart terminal
|
|
292
|
-
3.
|
|
246
|
+
1. Install the missing CLI (see [Requirements](#requirements))
|
|
247
|
+
2. Restart your terminal
|
|
248
|
+
3. Re-open Polter — the Tool Status screen should show a green check
|
|
293
249
|
|
|
294
250
|
### Command exits with non-zero code
|
|
295
251
|
|
|
296
|
-
Polter forwards execution to
|
|
252
|
+
Polter forwards execution to the underlying CLI tool. Check the tool's own documentation for the specific error. For Supabase commands, try adding `--debug`; for GitHub CLI, try `--verbose`.
|
|
297
253
|
|
|
298
254
|
### Pinned commands are missing
|
|
299
255
|
|
|
@@ -307,8 +263,8 @@ Ensure you are running in a terminal that supports interactive TTY prompts.
|
|
|
307
263
|
|
|
308
264
|
## Security Notes
|
|
309
265
|
|
|
310
|
-
- Polter executes local shell commands through your installed Supabase
|
|
311
|
-
- Keep
|
|
266
|
+
- Polter executes local shell commands through your installed CLI tools (Supabase, GitHub, Vercel, Git, package manager).
|
|
267
|
+
- Keep tokens and credentials out of shared shells and CI logs.
|
|
312
268
|
- Prefer short-lived tokens and least-privileged project access.
|
|
313
269
|
|
|
314
270
|
---
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polterware/polter",
|
|
3
|
-
"version": "0.5.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.5.1",
|
|
4
|
+
"description": "Infrastructure orchestrator CLI for managing dev processes, pipelines, CLI commands, and packages.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"polter": "./dist/index.js",
|
|
@@ -34,6 +34,13 @@
|
|
|
34
34
|
"polterware",
|
|
35
35
|
"polter",
|
|
36
36
|
"cli",
|
|
37
|
+
"orchestrator",
|
|
38
|
+
"infrastructure",
|
|
39
|
+
"pipelines",
|
|
40
|
+
"supabase",
|
|
41
|
+
"github",
|
|
42
|
+
"vercel",
|
|
43
|
+
"git",
|
|
37
44
|
"typescript"
|
|
38
45
|
],
|
|
39
46
|
"author": "Polterware",
|