@polterware/polterbase 0.2.4 → 0.2.6

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 (3) hide show
  1. package/README.md +101 -12
  2. package/dist/index.js +1288 -66
  3. package/package.json +2 -3
package/README.md CHANGED
@@ -18,17 +18,31 @@ Polterbase is a productivity layer on top of the official `supabase` CLI. Instea
18
18
  - **Global Flags Picker**: Add common global flags in one step
19
19
  - **Pinned Commands and Runs**: Toggle base command pins with `→` and pin exact runs after success
20
20
  - **Custom Command Mode**: Run raw Supabase arguments like `-v` or `status -o json`
21
- - **Shell Execution**: Executes your local `supabase` binary directly
21
+ - **Built-in Self-Update**: Update Polterbase for the current repository or globally through npm
22
+ - **Shell Execution**: Resolves `supabase` from the current repository first, then falls back to `PATH`
22
23
  - **TypeScript-based CLI**: Strongly typed internal implementation
24
+ - **App Workflows**: Explicit `polterbase app ...` flows for repository-aware setup, linking, migrations, runtime configuration, and app installation
23
25
 
24
26
  ---
25
27
 
26
28
  ## Installation
27
29
 
28
- ### Run without installing globally
30
+ ### Run one-off without installing
29
31
 
30
32
  ```bash
31
- npx @polterware/polterbase
33
+ npx @polterware/polterbase@latest
34
+ ```
35
+
36
+ ### Install in a repository
37
+
38
+ ```bash
39
+ npm install -D @polterware/polterbase
40
+ ```
41
+
42
+ Then run it from that repository with:
43
+
44
+ ```bash
45
+ npx polterbase
32
46
  ```
33
47
 
34
48
  ### Install globally
@@ -43,28 +57,36 @@ Then run:
43
57
  polterbase
44
58
  ```
45
59
 
46
- `polterbase` is a global CLI tool. Do not add it to `dependencies` or `devDependencies` of app projects.
60
+ Use a repository install when you want the CLI version pinned to one project.
61
+ Use a global install when you want the same CLI version across every repository.
47
62
 
48
63
  ### Update
49
64
 
50
- If you run Polterbase with `npx`, always use the latest published version explicitly:
65
+ If you installed it globally, update it with:
51
66
 
52
67
  ```bash
53
- npx @polterware/polterbase@latest
68
+ npm install -g @polterware/polterbase@latest
54
69
  ```
55
70
 
56
- If you installed it globally, update it with:
71
+ If you installed it in a repository, update it there with:
57
72
 
58
73
  ```bash
59
- npm install -g @polterware/polterbase@latest
74
+ npm install -D @polterware/polterbase@latest
60
75
  ```
61
76
 
77
+ You can also run the same update flow from inside Polterbase:
78
+
79
+ 1. Go to the `Actions` section
80
+ 2. Choose `Update Polterbase`
81
+ 3. Choose `Current repository` or `Global install`
82
+ 4. Confirm the npm update command
83
+
62
84
  ---
63
85
 
64
86
  ## Requirements
65
87
 
66
88
  - **Node.js**: `>= 18`
67
- - **Supabase CLI**: installed and available in `PATH`
89
+ - **Supabase CLI**: installed globally in `PATH` or locally in the current repository
68
90
 
69
91
  Check your environment:
70
92
 
@@ -81,14 +103,57 @@ Install Supabase CLI (official docs):
81
103
 
82
104
  ## Quick Reference
83
105
 
106
+ ### App Workflows
107
+
108
+ Polterbase keeps generic Supabase execution separate from app-specific automation.
109
+ Use the `app` namespace when you want project-aware workflows:
110
+
111
+ ```bash
112
+ polterbase app setup uru --path .
113
+ ```
114
+
115
+ ```bash
116
+ polterbase app link uru --path .
117
+ ```
118
+
119
+ ```bash
120
+ polterbase app migrate uru push --path .
121
+ ```
122
+
123
+ ```bash
124
+ polterbase app configure uru --path .
125
+ ```
126
+
127
+ ```bash
128
+ polterbase app install uru --platform macos
129
+ ```
130
+
131
+ `setup uru` installs dependencies, collects Supabase connection data, links the project, pushes migrations, and writes the runtime bootstrap payload used by the desktop app.
132
+
133
+ `configure uru` refreshes the runtime connection payload without reinstalling the app.
134
+
135
+ `install uru` is currently macOS-only. By default it resolves the latest GitHub release from `polterware/uru`, accepts `--version <version>` to pin a release, and still supports `--artifact-url` or `POLTERBASE_URU_MACOS_ARTIFACT_URL` as manual overrides.
136
+
137
+ Use `POLTERBASE_URU_GITHUB_REPO=owner/repo` when you need to resolve releases from a fork or a different repository.
138
+
84
139
  ### Execution Model
85
140
 
86
- Polterbase always executes commands as:
141
+ Polterbase executes workflow commands as:
87
142
 
88
143
  ```bash
89
144
  supabase <command> <extra-args> <global-flags>
90
145
  ```
91
146
 
147
+ The self-update action is the only built-in exception and can run one of:
148
+
149
+ ```bash
150
+ npm install -g @polterware/polterbase@latest
151
+ ```
152
+
153
+ ```bash
154
+ npm install -D @polterware/polterbase@latest
155
+ ```
156
+
92
157
  ### Typical Flow
93
158
 
94
159
  1. Choose a command from the unified board
@@ -189,6 +254,30 @@ Pins are persisted locally using OS-level app config storage.
189
254
 
190
255
  ## Usage Examples
191
256
 
257
+ ### Bootstrap Uru from source
258
+
259
+ ```bash
260
+ polterbase app setup uru --path /absolute/path/to/uru
261
+ ```
262
+
263
+ ### Reconfigure an installed Uru app
264
+
265
+ ```bash
266
+ polterbase app configure uru
267
+ ```
268
+
269
+ ### Install the latest released Uru app
270
+
271
+ ```bash
272
+ polterbase app install uru --platform macos
273
+ ```
274
+
275
+ Install a specific release:
276
+
277
+ ```bash
278
+ polterbase app install uru --platform macos --version 1.0.0
279
+ ```
280
+
192
281
  ### Check Supabase CLI version
193
282
 
194
283
  Interactive path:
@@ -252,11 +341,11 @@ supabase db pull --yes
252
341
 
253
342
  ### `supabase: command not found`
254
343
 
255
- Supabase CLI is not installed or not in your `PATH`.
344
+ Supabase CLI is not installed in the current repository and is not available in your `PATH`.
256
345
 
257
346
  Fix:
258
347
 
259
- 1. Install Supabase CLI
348
+ 1. Install Supabase CLI globally or in the current repository
260
349
  2. Restart terminal
261
350
  3. Run `supabase --version`
262
351