gui4cli 0.0.2 → 0.0.3
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 +27 -55
- package/bin/gui4cli.js +0 -0
- package/package.json +60 -50
package/README.md
CHANGED
|
@@ -1,77 +1,49 @@
|
|
|
1
1
|
# GUI4CLI
|
|
2
2
|
|
|
3
|
-
Turn a Node.js CLI script into a
|
|
3
|
+
Turn a Node.js CLI script into a desktop form — inputs, a Run button, and live output — without rewriting the script.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Docs:** [gui4cli.dev/docs](https://gui4cli.dev/docs) · **Site:** [gui4cli.dev](https://gui4cli.dev) · **GitHub:** [Catalyst-Forge-LLC/gui4cli](https://github.com/Catalyst-Forge-LLC/gui4cli)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Install
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
- pnpm 9+
|
|
11
|
-
|
|
12
|
-
### Installation (this repo)
|
|
9
|
+
Requires **Node.js 20+**.
|
|
13
10
|
|
|
14
11
|
```bash
|
|
15
|
-
|
|
16
|
-
pnpm test
|
|
17
|
-
pnpm exec tsx src/cli.ts fixtures/resize.js --json
|
|
18
|
-
pnpm dev
|
|
12
|
+
npx gui4cli my-script.js
|
|
19
13
|
```
|
|
20
14
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
If the window flashes and closes, run `pnpm dev` from a normal terminal (not Cursor's JavaScript Debug Terminal). Inspector flags inherited by NW.js will shut the window down.
|
|
24
|
-
|
|
25
|
-
`--json` prints the detected form and exits (no window). Use that in CI or when you cannot open a GUI.
|
|
26
|
-
|
|
27
|
-
`--build` writes a reusable project folder (GUI shell + `package.json`). It does not create an `.exe`, and it does not rewrite the original script.
|
|
15
|
+
Or globally:
|
|
28
16
|
|
|
29
17
|
```bash
|
|
30
|
-
|
|
31
|
-
|
|
18
|
+
npm install -g gui4cli
|
|
19
|
+
gui4cli my-script.js
|
|
32
20
|
```
|
|
33
21
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
### Try a script
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
pnpm exec tsx src/cli.ts path/to/your-script.js
|
|
40
|
-
pnpm exec tsx src/cli.ts . --entry bin/cli.js
|
|
41
|
-
```
|
|
22
|
+
A folder works too: `gui4cli . --entry bin/cli.js`.
|
|
42
23
|
|
|
43
|
-
|
|
24
|
+
The first windowd launch may download the NW.js runtime (~200 MB). If the window flashes and closes, run from a normal terminal — not Cursor's JavaScript Debug Terminal.
|
|
44
25
|
|
|
45
|
-
##
|
|
26
|
+
## What you get
|
|
46
27
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
TODO.md
|
|
53
|
-
```
|
|
28
|
+
- Detects Commander and yargs (JSDoc and `--help` are fallbacks)
|
|
29
|
+
- One window: fields, command preview, **Run**, live stdout/stderr, exit code
|
|
30
|
+
- Last-run values under `~/.gui4cli/lastrun/`
|
|
31
|
+
- `--json` prints the form and exits (CI, no GUI)
|
|
32
|
+
- `--build` writes a reusable windowd folder that wraps the original script **in place** (no `.exe`, no rewrite)
|
|
54
33
|
|
|
55
|
-
|
|
34
|
+
Optional overrides: `gui4cli.config.js` or `gui4cli.json` next to the script. Flags: [CLI](https://gui4cli.dev/docs/cli).
|
|
56
35
|
|
|
57
|
-
|
|
58
|
-
| ------- | ----------- |
|
|
59
|
-
| Detect | Static Commander / yargs, then JSDoc, config, `--help` |
|
|
60
|
-
| Instant GUI | One windowd window, no generated repo required |
|
|
61
|
-
| `--build` | Reusable project folder; run later with `npx windowd` |
|
|
62
|
-
| Run | Spawn the original script; stream stdout/stderr; cancel |
|
|
63
|
-
| Last run | Values stored under `~/.gui4cli/lastrun/` |
|
|
36
|
+
## Development
|
|
64
37
|
|
|
65
|
-
|
|
38
|
+
```bash
|
|
39
|
+
pnpm install
|
|
40
|
+
pnpm test
|
|
41
|
+
pnpm exec tsx src/cli.ts fixtures/resize.js --json
|
|
42
|
+
pnpm dev
|
|
43
|
+
```
|
|
66
44
|
|
|
67
|
-
-
|
|
68
|
-
- Zod
|
|
69
|
-
- windowd (Node + webview)
|
|
70
|
-
- No database, auth, or LLM
|
|
45
|
+
`pnpm dev` opens the Commander fixture. Site (FilePress): `pnpm site:dev` (LocalSlip `gui4cli-site` on **5201**). Redeploy: `pnpm ship`.
|
|
71
46
|
|
|
72
|
-
##
|
|
47
|
+
## License
|
|
73
48
|
|
|
74
|
-
|
|
75
|
-
- [docs/GENESIS.md](docs/GENESIS.md) — product spec
|
|
76
|
-
- [CONTEXT_PROMPT.md](CONTEXT_PROMPT.md) — session handoff
|
|
77
|
-
- [TODO.md](TODO.md) — backlog
|
|
49
|
+
MIT · Catalyst Forge LLC
|
package/bin/gui4cli.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,50 +1,60 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "gui4cli",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "Turn a Node.js CLI script into a desktop form app — inputs, run button, live output.",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"gui4cli": "bin/gui4cli.js"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "gui4cli",
|
|
3
|
+
"version": "0.0.3",
|
|
4
|
+
"description": "Turn a Node.js CLI script into a desktop form app — inputs, run button, live output.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"gui4cli": "bin/gui4cli.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"bin",
|
|
11
|
+
"dist",
|
|
12
|
+
"README.md",
|
|
13
|
+
"LICENSE"
|
|
14
|
+
],
|
|
15
|
+
"keywords": [
|
|
16
|
+
"cli",
|
|
17
|
+
"desktop",
|
|
18
|
+
"gui",
|
|
19
|
+
"commander",
|
|
20
|
+
"yargs",
|
|
21
|
+
"form"
|
|
22
|
+
],
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"author": "Catalyst Forge LLC",
|
|
25
|
+
"homepage": "https://gui4cli.dev",
|
|
26
|
+
"repository": {
|
|
27
|
+
"type": "git",
|
|
28
|
+
"url": "git+https://github.com/Catalyst-Forge-LLC/gui4cli.git"
|
|
29
|
+
},
|
|
30
|
+
"bugs": {
|
|
31
|
+
"url": "https://github.com/Catalyst-Forge-LLC/gui4cli/issues"
|
|
32
|
+
},
|
|
33
|
+
"engines": {
|
|
34
|
+
"node": ">=20"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"windowd": "^0.7.0",
|
|
38
|
+
"zod": "^3.25.0"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@types/node": "^24.0.0",
|
|
42
|
+
"commander": "^14.0.0",
|
|
43
|
+
"tsx": "^4.20.0",
|
|
44
|
+
"typescript": "^5.9.0",
|
|
45
|
+
"vitest": "^3.2.0",
|
|
46
|
+
"yargs": "^18.0.0"
|
|
47
|
+
},
|
|
48
|
+
"scripts": {
|
|
49
|
+
"dev": "tsx src/cli.ts fixtures/resize.js",
|
|
50
|
+
"detect": "tsx src/cli.ts fixtures/resize.js --json",
|
|
51
|
+
"build": "tsc",
|
|
52
|
+
"typecheck": "tsc --noEmit",
|
|
53
|
+
"test": "vitest run",
|
|
54
|
+
"site:dev": "pnpm --dir site dev",
|
|
55
|
+
"site:build": "pnpm --dir site build",
|
|
56
|
+
"site:check": "pnpm --dir site check",
|
|
57
|
+
"site:deploy": "pnpm --dir site run ship",
|
|
58
|
+
"ship": "pnpm --dir site run ship"
|
|
59
|
+
}
|
|
60
|
+
}
|