glidercli 0.3.6 → 0.3.7

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 CHANGED
@@ -1,16 +1,15 @@
1
1
  <div align="center">
2
2
 
3
- <img src="assets/icons/glider-blue-squircle.webp" alt="glider" width="80" height="80" />
4
- <img src="assets/icons/chrome.webp" alt="chrome" width="80" height="80" />
5
- <img src="assets/icons/claude.webp" alt="claude" width="80" height="80" />
6
- <img src="assets/icons/ralph-wiggum.webp" alt="ralph" width="80" height="80" />
3
+ <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/glider.webp" alt="glider" width="80" height="80" />
4
+ <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/chrome.webp" alt="chrome" width="80" height="80" />
5
+ <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/claude.webp" alt="claude" width="80" height="80" />
6
+ <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/ralph-wiggum.webp" alt="ralph" width="80" height="80" />
7
7
 
8
- <h1 align="center">glidercli</h1>
9
- <p align="center"><i><b>Browser automation CLI with autonomous loop execution.</b></i></p>
8
+ <h1 align="center">glider CLI</h1>
9
+ <p align="center"><i><b>Browser automation CLI with autonomous loop execution</b></i></p>
10
10
 
11
11
  [![Github][github]][github-url]
12
12
  [![npm][npm]][npm-url]
13
-
14
13
  </div>
15
14
 
16
15
  <br/>
@@ -19,7 +18,7 @@
19
18
 
20
19
  | | |
21
20
  |---|---|
22
- | **What** | Control a Chromium-based browser from the terminal via CDP; run YAML tasks; loop until done (Ralph Wiggum pattern). |
21
+ | **What** | Control a **Chromium-based** browser from the terminal via CDP, run YAML tasks, and loop until done (Ralph Wiggum pattern) |
23
22
  | **CDP** | Chrome DevTools Protocol via relay + browser extension |
24
23
  | **Tasks** | Declarative steps: `goto`, `click`, `explore`, `eval`, `screenshot` |
25
24
  | **Loops** | Run until completion marker or max iterations / timeout |
@@ -32,9 +31,9 @@
32
31
  | Step | Action |
33
32
  |------|--------|
34
33
  | **1. CLI** | `npm i -g glidercli` |
35
- | **2. Extension** | [Install Glider from Chrome Web Store](https://chromewebstore.google.com/detail/glider/njbidokkffhgpofcejgcfcgcinmeoalj) (required; bridges relay ↔ tab). |
34
+ | **2. Extension** | [Install Glider from Chrome Web Store](https://chromewebstore.google.com/detail/glider/njbidokkffhgpofcejgcfcgcinmeoalj) in the same browser/profile you will automate (required, bridges relay ↔ tab) |
36
35
  | **3. Daemon** | `glider install` then `glider connect` |
37
- | **4. (Optional) Browser** | Default: Chrome. For Arc/Edge/Brave: [BROWSERS.md](docs/BROWSERS.md) or `export GLIDER_BROWSER=Arc` |
36
+ | **4. Browser (required setup)** | Configure supported browser/profile + extension in the **Browsers** section below. |
38
37
 
39
38
 
40
39
  ## Requirements
@@ -42,7 +41,160 @@
42
41
  | Requirement | Minimum |
43
42
  |-------------|---------|
44
43
  | Node | 18+ |
45
- | Browser | Chromium-based (Chrome, Arc, Edge, Brave, Opera, Vivaldi, DuckDuckGo). No Firefox/Safari → [BROWSERS.md](docs/BROWSERS.md) |
44
+ | Browser | Chromium-based (Chrome, Arc, Edge, Brave, Opera, Vivaldi) with the Glider extension installed/enabled in that browser profile. No Firefox/Safari/DuckDuckGo |
45
+
46
+ ---
47
+
48
+ ## Browsers
49
+
50
+ | | |
51
+ |---|---|
52
+ | **How it works** | Chrome extension → WebSocket relay → CDP. Browser must support that extension (Chromium-based). |
53
+
54
+ ### Browser support
55
+
56
+ Icons: `https://raw.githubusercontent.com/vdutts7/squircle/main/webp/{slug}.webp` ([squircle](https://github.com/vdutts7/squircle)).
57
+
58
+ **Extension:** Install [Glider](https://chromewebstore.google.com/detail/glider/njbidokkffhgpofcejgcfcgcinmeoalj) from the Chrome Web Store in each browser/profile you plan to automate
59
+
60
+ | | Browser | Config |
61
+ |:---:|--------|--------|
62
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/chrome.webp" width="16" alt=""> | Google Chrome | Default for `glider connect`. |
63
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/arc.webp" width="16" alt=""> | Arc | [browser.json](config/browser.json.example) (`{ "use": "arc" }`) |
64
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/microsoft/microsoft-edge.webp" width="16" alt=""> | Microsoft Edge | n/a |
65
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/brave.webp" width="16" alt=""> | Brave | n/a |
66
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/opera-gx.webp" width="16" alt=""> | Opera | n/a |
67
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/vivaldi.webp" width="16" alt=""> | Vivaldi | n/a |
68
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/chromium.webp" width="16" alt=""> | Other Chromium | Must support installing extensions from the Chrome Web Store. |
69
+
70
+ ### Future
71
+
72
+ - not supported today
73
+ - Glider needs a **Chromium-based** browser that can install the extension from the **Chrome Web Store**
74
+ - no timeline implied- listed for clarity
75
+
76
+
77
+ | | Browser | Notes |
78
+ |:---:|--------|--------|
79
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/firefox.webp" width="16" alt=""> | Firefox | **Gecko** (Firefox engine). Not Chromium, Glider uses a Chrome Web Store extension + CDP |
80
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/firefox-focus.webp" width="16" alt=""> | Firefox Focus | Gecko- same constraints as Firefox |
81
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/firefox.webp" width="16" alt=""> | Firefox Klar | Gecko (Focus branding in some regions)- same constraints as Firefox |
82
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/librewolf.webp" width="16" alt=""> | LibreWolf | Gecko- same constraints as Firefox |
83
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/waterfox.webp" width="16" alt=""> | Waterfox | Gecko- same constraints as Firefox |
84
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/zen.webp" width="16" alt=""> | Zen | Gecko- same constraints as Firefox |
85
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/floorp.webp" width="16" alt=""> | Floorp | Gecko- same constraints as Firefox |
86
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/tor-browser.webp" width="16" alt=""> | Tor Browser | Gecko- same constraints as Firefox |
87
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/mullvad-browser.webp" width="16" alt=""> | Mullvad Browser | Gecko- same constraints as Firefox |
88
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/icecat.webp" width="16" alt=""> | IceCat | Gecko- same constraints as Firefox |
89
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/safari.webp" width="16" alt=""> | Safari | WebKit (Apple desktop). Not Chromium |
90
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/orion.webp" width="16" alt=""> | Orion | WebKit-based desktop browser. Not Chromium |
91
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/chatgpt-atlas.webp" width="16" alt=""> | ChatGPT Atlas | AI-first browser, not in Glider’s supported Chromium + CWS model today |
92
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/perplexity-comet.webp" width="16" alt=""> | Perplexity Comet | AI-first browser, not in Glider’s supported Chromium + CWS model today |
93
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/bromite.webp" width="16" alt=""> | Bromite | Chromium-derived, no practical Chrome Web Store path for Glider |
94
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/chromium.webp" width="16" alt=""> | Chromite | Chromium-derived, no practical Chrome Web Store path for Glider |
95
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/grapheneos.webp" width="16" alt=""> | Vanadium | Chromium-derived (GrapheneOS), no practical Chrome Web Store path for Glider |
96
+ | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/duckduckgo.webp" width="16" alt=""> | DuckDuckGo | No practical Chrome Web Store extension install path for Glider |
97
+
98
+ ### Configuring the browser
99
+
100
+ **Priority (highest first):** config file -> default `Google Chrome`
101
+
102
+ #### Config file: `$HOME/.glider/config/browser.json`
103
+
104
+ Use a **registry key** or explicit name/path in the file
105
+
106
+ **Option A- Registry key (recommended):**
107
+
108
+ Set browser by key from the browsers registry. Run `glider use <key>` to write this.
109
+
110
+ ```json
111
+ {
112
+ "use": "arc"
113
+ }
114
+ ```
115
+
116
+ Registry is loaded from (first found): `$HOME/.cursor/registry/browsers.json`, `$HOME/.glider/config/browsers-registry.json`. Keys are predefined (e.g. `arc`, `brave`, `chrome`, `edge`, `opera`, `vivaldi`, `chromium`). Edit the registry to add or change paths
117
+
118
+ **Option B- Explicit name/path:**
119
+
120
+ | Field | Required | Description |
121
+ |-------|:--------:|-------------|
122
+ | `name` | Yes* | App name for `open -a` / AppleScript. Must match system (e.g. `Arc`, `Google Chrome`). |
123
+ | `path` | No | If set, use `open "<path>"` instead of `open -a "<name>"`. For non-default install location. |
124
+ | `processName` | No | For `pgrep -x`. Defaults to `name`. |
125
+
126
+ \* Omit `name` when using `use` (registry key).
127
+
128
+ **Example:**
129
+
130
+ ```json
131
+ {
132
+ "name": "Arc",
133
+ "path": "/Applications/Arc.app",
134
+ "processName": "Arc"
135
+ }
136
+ ```
137
+
138
+ **By browser:**
139
+
140
+ | Browser | `name` | `path` (optional) | `processName` (optional) |
141
+ |---------|--------|-------------------|---------------------------|
142
+ | Arc | `Arc` | `/Applications/Arc.app` | `Arc` |
143
+ | Edge | `Microsoft Edge` | n/a | `Microsoft Edge` |
144
+ | Chrome (custom) | `Google Chrome` | `/Users/me/Applications/Google Chrome.app` | `Google Chrome` |
145
+
146
+ Check app name in Finder/Spotlight, process name: `ps aux | grep -i <name>`
147
+
148
+ ### Browser registry (keymap)
149
+
150
+ A single registry file can define all Chromium browsers, Glider picks one by key
151
+
152
+ **Registry location (first found):**
153
+
154
+ - `$HOME/.cursor/registry/browsers.json`
155
+ - `$HOME/.glider/config/browsers-registry.json`
156
+
157
+ **Registry format:**
158
+
159
+ ```json
160
+ {
161
+ "version": "1.0",
162
+ "registry": {
163
+ "arc": { "name": "Arc", "path": "/Applications/Arc.app", "processName": "Arc" },
164
+ "brave": { "name": "Brave Browser", "path": "/Applications/Brave Browser.app", "processName": "Brave Browser" },
165
+ "chrome": { "name": "Google Chrome", "path": "/Applications/Google Chrome.app", "processName": "Google Chrome" },
166
+ "edge": { "name": "Microsoft Edge", "path": "/Applications/Microsoft Edge.app", "processName": "Microsoft Edge" }
167
+ }
168
+ }
169
+ ```
170
+
171
+ **Commands:**
172
+
173
+ | Command | Effect |
174
+ |---------|--------|
175
+ | `glider use arc` | Set `$HOME/.glider/config/browser.json` to `{ "use": "arc" }` (resolved from registry). |
176
+ | `glider use brave` | Switch to Brave. |
177
+ | `glider use` | Show current key and list of registry keys. |
178
+ | `glider browser` | Show resolved name, path, processName (and `use` key if set). |
179
+
180
+ Add or edit entries in the registry to match your machine (e.g. custom install paths). Keys are stable, point Glider at one by name.
181
+
182
+ ### Platform
183
+
184
+ | Platform | Behavior |
185
+ |----------|----------|
186
+ | macOS | `open -a "<name>"` or `open "<path>"`, AppleScript for tab/window. `name` = exact app name |
187
+ | Linux / Windows | Not fully implemented. Future: `path` may be executable. |
188
+
189
+ ### Browser summary
190
+
191
+ | Topic | Detail |
192
+ |-------|--------|
193
+ | Supported | Chromium-based + Chrome Web Store extension (see table above). |
194
+ | Not supported | See **Future** in this README. |
195
+ | Configure | `$HOME/.glider/config/browser.json` (use key or name/path). Registry: `$HOME/.cursor/registry/browsers.json` or `$HOME/.glider/config/browsers-registry.json` |
196
+ | Switch | `glider use <key>` (e.g. `glider use arc`, `glider use brave`). |
197
+ | Path | Optional, use when app is not in default location |
46
198
 
47
199
  ---
48
200
 
@@ -68,10 +220,10 @@ glider loop task.yaml -n 50
68
220
  ```yaml
69
221
  name: "Reddit"
70
222
  steps:
71
- - goto: "https://reddit.com"
72
- - wait: 2
73
- - eval: "document.title"
74
- - screenshot: "/tmp/out.png"
223
+ - goto: "https://reddit.com"
224
+ - wait: 2
225
+ - eval: "document.title"
226
+ - screenshot: "/tmp/out.png"
75
227
  ```
76
228
 
77
229
  ---
@@ -93,7 +245,7 @@ steps:
93
245
  | `glider run <file>` | Run YAML task |
94
246
  | `glider loop <file> [-n N]` | Loop until done or limit |
95
247
 
96
- Full list: `glider --help`.
248
+ Full list: `glider --help`
97
249
 
98
250
  ---
99
251
 
@@ -101,8 +253,7 @@ Full list: `glider --help`.
101
253
 
102
254
  | Doc | Contents |
103
255
  |-----|----------|
104
- | This README | Install, usage, commands |
105
- | [docs/BROWSERS.md](docs/BROWSERS.md) | Which browsers work; browser name/path (env or `~/.glider/config/browser.json`) |
256
+ | This README | Install, usage, commands, full browser support/config |
106
257
  | [config/browser.json.example](config/browser.json.example) | Example browser config |
107
258
 
108
259
  ---
package/bin/glider.js CHANGED
@@ -82,7 +82,6 @@ for (const cfgPath of BROWSER_CONFIG_PATHS) {
82
82
 
83
83
  // Browsers registry - key → { name, path, processName }. Used when browser.json has "use": "<key>"
84
84
  const BROWSERS_REGISTRY_PATHS = [
85
- process.env.GLIDER_BROWSERS_REGISTRY,
86
85
  path.join(os.homedir(), '.cursor', 'registry', 'browsers.json'),
87
86
  path.join(os.homedir(), '.glider', 'config', 'browsers-registry.json'),
88
87
  ].filter(Boolean);
@@ -98,9 +97,9 @@ for (const regPath of BROWSERS_REGISTRY_PATHS) {
98
97
  }
99
98
 
100
99
  function getBrowserConfig() {
101
- let name = process.env.GLIDER_BROWSER || BROWSER_CONFIG.name;
102
- let pathOrNull = process.env.GLIDER_BROWSER_PATH || BROWSER_CONFIG.path || null;
103
- let processName = process.env.GLIDER_BROWSER_PROCESS || BROWSER_CONFIG.processName;
100
+ let name = BROWSER_CONFIG.name || null;
101
+ let pathOrNull = BROWSER_CONFIG.path || null;
102
+ let processName = BROWSER_CONFIG.processName || null;
104
103
 
105
104
  // Key-based lookup: browser.json has { "use": "arc" } → resolve from registry
106
105
  if (!name && BROWSER_CONFIG.use && BROWSERS_REGISTRY[BROWSER_CONFIG.use]) {
@@ -809,9 +808,9 @@ function cmdBrowser() {
809
808
  console.log(` use: ${BROWSER_CONFIG.use} ${DIM}(from registry)${NC}`);
810
809
  }
811
810
  console.log('');
812
- console.log('Source: GLIDER_BROWSER* env → ~/.glider/config/browser.json { "use": "<key>" } or { name, path } → default "Google Chrome"');
813
- console.log('Registry: GLIDER_BROWSERS_REGISTRY or ~/.cursor/registry/browsers.json. Keys: ' + Object.keys(BROWSERS_REGISTRY).join(', ') || '(none loaded)');
814
- console.log('See docs/BROWSERS.md for compatibility and examples.');
811
+ console.log('Source: ~/.glider/config/browser.json { "use": "<key>" } or { name, path } → default "Google Chrome"');
812
+ console.log('Registry: ~/.cursor/registry/browsers.json or ~/.glider/config/browsers-registry.json. Keys: ' + (Object.keys(BROWSERS_REGISTRY).join(', ') || '(none loaded)'));
813
+ console.log('See README.md#browsers for compatibility and examples.');
815
814
  }
816
815
 
817
816
  function cmdUse(key) {
package/docs/BROWSERS.md CHANGED
@@ -1,185 +1,7 @@
1
- # Glider browser support and configuration
1
+ # Browser docs moved
2
2
 
3
- | | |
4
- |---|---|
5
- | **Install / usage** | [README](../README.md) |
6
- | **How it works** | Chrome extension → WebSocket relay → CDP. Browser must support that extension (Chromium-based). |
3
+ Browser support and configuration now live in the main README:
7
4
 
8
- ---
5
+ - [README `## Browsers`](../README.md#browsers)
9
6
 
10
- ## Browser support
11
-
12
- Icons: `https://raw.githubusercontent.com/vdutts7/squircle/main/webp/{slug}.webp` ([squircle](https://github.com/vdutts7/squircle)).
13
-
14
- **Extension:** Install [Glider](https://chromewebstore.google.com/detail/glider/njbidokkffhgpofcejgcfcgcinmeoalj) from the Chrome Web Store — same for every browser in this table.
15
-
16
- | | Browser | Config |
17
- |:---:|--------|--------|
18
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/chrome.webp" width="16" alt=""> | Google Chrome | Default for `glider connect`. |
19
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/arc.webp" width="16" alt=""> | Arc | `GLIDER_BROWSER=Arc` or [browser.json](../config/browser.json.example). |
20
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/microsoft/microsoft-edge.webp" width="16" alt=""> | Microsoft Edge | — |
21
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/brave.webp" width="16" alt=""> | Brave | — |
22
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/opera-gx.webp" width="16" alt=""> | Opera | — |
23
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/vivaldi.webp" width="16" alt=""> | Vivaldi | — |
24
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/duckduckgo.webp" width="16" alt=""> | DuckDuckGo Desktop | — |
25
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/chromium.webp" width="16" alt=""> | Other Chromium | Must support installing extensions from the Chrome Web Store. |
26
-
27
- See **[Future](#future)** for browsers not supported today.
28
-
29
- ---
30
-
31
- ## Future
32
-
33
- Not supported today: Glider needs a **Chromium-based** browser that can install the extension from the **Chrome Web Store**. No timeline implied; listed for clarity.
34
-
35
- Same icon base as above: `https://raw.githubusercontent.com/vdutts7/squircle/main/webp/{slug}.webp`.
36
-
37
- | | Browser | Notes |
38
- |:---:|--------|--------|
39
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/firefox.webp" width="16" alt=""> | Firefox | **Gecko** (Firefox engine). Not Chromium; Glider uses a Chrome Web Store extension + CDP. |
40
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/librewolf.webp" width="16" alt=""> | LibreWolf | Gecko — same constraints as Firefox. |
41
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/waterfox.webp" width="16" alt=""> | Waterfox | Gecko — same constraints as Firefox. |
42
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/zen.webp" width="16" alt=""> | Zen | Gecko — same constraints as Firefox. |
43
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/floorp.webp" width="16" alt=""> | Floorp | Gecko — same constraints as Firefox. |
44
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/tor-browser.webp" width="16" alt=""> | Tor Browser | Gecko — same constraints as Firefox. |
45
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/mullvad-browser.webp" width="16" alt=""> | Mullvad Browser | Gecko — same constraints as Firefox. |
46
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/icecat.webp" width="16" alt=""> | IceCat | Gecko — same constraints as Firefox. |
47
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/firefox-focus.webp" width="16" alt=""> | Firefox Focus | Gecko — same constraints as Firefox. |
48
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/firefox.webp" width="16" alt=""> | Firefox Klar | Gecko (Focus branding in some regions) — same constraints as Firefox. |
49
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/safari.webp" width="16" alt=""> | Safari | WebKit (Apple desktop). Not Chromium. |
50
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/orion.webp" width="16" alt=""> | Orion | WebKit-based desktop browser. Not Chromium. |
51
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/chatgpt-atlas.webp" width="16" alt=""> | ChatGPT Atlas | AI-first browser; not in Glider’s supported Chromium + CWS model today. |
52
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/perplexity-comet.webp" width="16" alt=""> | Perplexity Comet | AI-first browser; not in Glider’s supported Chromium + CWS model today. |
53
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/bromite.webp" width="16" alt=""> | Bromite | Chromium-derived; no practical Chrome Web Store path for Glider. |
54
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/chromium.webp" width="16" alt=""> | Chromite | Chromium-derived; no practical Chrome Web Store path for Glider. |
55
- | <img src="https://raw.githubusercontent.com/vdutts7/squircle/main/webp/grapheneos.webp" width="16" alt=""> | Vanadium | Chromium-derived (GrapheneOS); no practical Chrome Web Store path for Glider. |
56
-
57
- ---
58
-
59
- ## Configuring the browser
60
-
61
- **Priority (highest first):** env vars → config file → default `Google Chrome`.
62
-
63
- ### Environment variables
64
-
65
- | Variable | Purpose | Example |
66
- |----------|---------|---------|
67
- | `GLIDER_BROWSER` | App name (`open -a`, AppleScript) | `Arc`, `Google Chrome`, `Microsoft Edge` |
68
- | `GLIDER_BROWSER_PATH` | (Optional) Path to app bundle | `/Applications/My Apps/Chrome.app` |
69
- | `GLIDER_BROWSER_PROCESS` | (Optional) Process name for `pgrep` | Defaults to same as `GLIDER_BROWSER` |
70
-
71
- **Examples:**
72
-
73
- | Use case | Command |
74
- |----------|---------|
75
- | Arc | `export GLIDER_BROWSER=Arc` then `glider connect` |
76
- | Custom Chrome path | `export GLIDER_BROWSER="Google Chrome"` and `export GLIDER_BROWSER_PATH="/Applications/My Apps/Google Chrome.app"` |
77
-
78
- ### Config file: `$HOME/.glider/config/browser.json`
79
-
80
- Same keys as env, or use a **registry key**. Env overrides file.
81
-
82
- **Option A — Registry key (recommended):**
83
-
84
- Set browser by key from the browsers registry. Run `glider use <key>` to write this.
85
-
86
- ```json
87
- {
88
- "use": "arc"
89
- }
90
- ```
91
-
92
- Registry is loaded from (first found): `GLIDER_BROWSERS_REGISTRY` env, `$HOME/.cursor/registry/browsers.json`, `$HOME/.glider/config/browsers-registry.json`. Keys are predefined (e.g. `arc`, `brave`, `chrome`, `edge`, `opera`, `vivaldi`, `duckduckgo`, `chromium`). Edit the registry to add or change paths.
93
-
94
- **Option B — Explicit name/path:**
95
-
96
- | Field | Required | Description |
97
- |-------|:--------:|-------------|
98
- | `name` | Yes* | App name for `open -a` / AppleScript. Must match system (e.g. `Arc`, `Google Chrome`). |
99
- | `path` | No | If set, use `open "<path>"` instead of `open -a "<name>"`. For non-default install location. |
100
- | `processName` | No | For `pgrep -x`. Defaults to `name`. |
101
-
102
- \* Omit `name` when using `use` (registry key).
103
-
104
- **Example:**
105
-
106
- ```json
107
- {
108
- "name": "Arc",
109
- "path": "/Applications/Arc.app",
110
- "processName": "Arc"
111
- }
112
- ```
113
-
114
- **By browser:**
115
-
116
- | Browser | `name` | `path` (optional) | `processName` (optional) |
117
- |---------|--------|-------------------|---------------------------|
118
- | Arc | `Arc` | `/Applications/Arc.app` | `Arc` |
119
- | Edge | `Microsoft Edge` | — | `Microsoft Edge` |
120
- | Chrome (custom) | `Google Chrome` | `/Users/me/Applications/Google Chrome.app` | `Google Chrome` |
121
- | DuckDuckGo | `DuckDuckGo` | — | `DuckDuckGo` |
122
-
123
- Check app name in Finder/Spotlight; process name: `ps aux | grep -i <name>`.
124
-
125
- ---
126
-
127
- ## Browser registry (keymap)
128
-
129
- A single registry file can define all Chromium browsers; Glider picks one by key.
130
-
131
- **Registry location (first found):**
132
-
133
- - `GLIDER_BROWSERS_REGISTRY` (env, path to JSON file)
134
- - `$HOME/.cursor/registry/browsers.json`
135
- - `$HOME/.glider/config/browsers-registry.json`
136
-
137
- **Registry format:**
138
-
139
- ```json
140
- {
141
- "version": "1.0",
142
- "registry": {
143
- "arc": { "name": "Arc", "path": "/Applications/Arc.app", "processName": "Arc" },
144
- "brave": { "name": "Brave Browser", "path": "/Applications/Brave Browser.app", "processName": "Brave Browser" },
145
- "chrome": { "name": "Google Chrome", "path": "/Applications/Google Chrome.app", "processName": "Google Chrome" },
146
- "edge": { "name": "Microsoft Edge", "path": "/Applications/Microsoft Edge.app", "processName": "Microsoft Edge" }
147
- }
148
- }
149
- ```
150
-
151
- **Commands:**
152
-
153
- | Command | Effect |
154
- |---------|--------|
155
- | `glider use arc` | Set `$HOME/.glider/config/browser.json` to `{ "use": "arc" }` (resolved from registry). |
156
- | `glider use brave` | Switch to Brave. |
157
- | `glider use` | Show current key and list of registry keys. |
158
- | `glider browser` | Show resolved name, path, processName (and `use` key if set). |
159
-
160
- Add or edit entries in the registry to match your machine (e.g. custom install paths). Keys are stable; point Glider at one by name.
161
-
162
- ---
163
-
164
- ## Platform
165
-
166
- | Platform | Behavior |
167
- |----------|----------|
168
- | macOS | `open -a "<name>"` or `open "<path>"`; AppleScript for tab/window. `name` = exact app name. |
169
- | Linux / Windows | Not fully implemented. Future: `path` may be executable. |
170
-
171
- ---
172
-
173
- ## Summary
174
-
175
- | Topic | Detail |
176
- |-------|--------|
177
- | Supported | Chromium-based + Chrome Web Store extension (see table above). |
178
- | Not supported | See [Future](#future). |
179
- | Configure | `$HOME/.glider/config/browser.json` (use key or name/path) and/or `GLIDER_BROWSER*`. Registry: `$HOME/.cursor/registry/browsers.json` or `GLIDER_BROWSERS_REGISTRY`. |
180
- | Switch | `glider use <key>` (e.g. `glider use arc`, `glider use brave`). |
181
- | Path | Optional; use when app is not in default location. |
182
-
183
- ---
184
-
185
- [← README](../README.md)
7
+ Reason: npmjs displays README prominently; putting browser setup there makes it much easier for users to find.
package/docs/setup.json CHANGED
@@ -10,7 +10,7 @@
10
10
  },
11
11
  "requirements": {
12
12
  "node": ">=18",
13
- "browser": "Chromium-based (Chrome, Arc, Edge, Brave, etc.); see docs/BROWSERS.md",
13
+ "browser": "Chromium-based (Chrome, Arc, Edge, Brave, etc.); see README Browsers section",
14
14
  "os": "macOS (tested), Linux (untested), Windows (untested)"
15
15
  },
16
16
  "install": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glidercli",
3
- "version": "0.3.6",
3
+ "version": "0.3.7",
4
4
  "description": "Browser automation CLI. Control Chrome from terminal via CDP, run YAML task files, autonomous loops until completion.",
5
5
  "main": "index.js",
6
6
  "bin": {