gui4cli 0.0.1 → 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.
Files changed (3) hide show
  1. package/README.md +27 -55
  2. package/bin/gui4cli.js +0 -0
  3. 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 simple desktop form — inputs, a Run button, and live output — without rewriting the script.
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
- ## Setup
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
- ### Prerequisites
7
+ ## Install
8
8
 
9
- - Node.js 20+
10
- - pnpm 9+
11
-
12
- ### Installation (this repo)
9
+ Requires **Node.js 20+**.
13
10
 
14
11
  ```bash
15
- pnpm install
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
- `pnpm dev` opens the Commander fixture in a desktop window. The first windowd launch may download the NW.js runtime (~200 MB).
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
- pnpm exec tsx src/cli.ts fixtures/resize.js --build
31
- pnpm exec tsx src/cli.ts fixtures/resize.js --build --out ./my-resize-gui
18
+ npm install -g gui4cli
19
+ gui4cli my-script.js
32
20
  ```
33
21
 
34
- Then `npx --yes windowd` inside that folder.
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
- Optional overrides: `gui4cli.config.js` or `gui4cli.json` next to the script.
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
- ## Project Structure
26
+ ## What you get
46
27
 
47
- ```
48
- src/ TypeScript CLI (detect, schema, window, run)
49
- fixtures/ Commander + yargs sample scripts
50
- docs/ GENESIS + Phase 1 brief
51
- CONTEXT_PROMPT.md
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
- ## Features
34
+ Optional overrides: `gui4cli.config.js` or `gui4cli.json` next to the script. Flags: [CLI](https://gui4cli.dev/docs/cli).
56
35
 
57
- | Feature | Description |
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
- ## Tech Stack
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
- - TypeScript, ESM, pnpm
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
- ## Documentation
47
+ ## License
73
48
 
74
- - [docs/PHASE_1_BRIEF.md](docs/PHASE_1_BRIEF.md) locked architecture
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.1",
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
- "argui": "bin/gui4cli.js"
9
- },
10
- "files": [
11
- "bin",
12
- "dist",
13
- "README.md",
14
- "LICENSE"
15
- ],
16
- "scripts": {
17
- "dev": "tsx src/cli.ts fixtures/resize.js",
18
- "detect": "tsx src/cli.ts fixtures/resize.js --json",
19
- "build": "tsc",
20
- "typecheck": "tsc --noEmit",
21
- "test": "vitest run",
22
- "prepare": "tsc",
23
- "prepublishOnly": "node scripts/publish-gate.mjs && pnpm test && pnpm build"
24
- },
25
- "keywords": [
26
- "cli",
27
- "desktop",
28
- "gui",
29
- "commander",
30
- "yargs",
31
- "form"
32
- ],
33
- "license": "MIT",
34
- "author": "Catalyst Forge LLC",
35
- "engines": {
36
- "node": ">=20"
37
- },
38
- "dependencies": {
39
- "windowd": "^0.7.0",
40
- "zod": "^3.25.0"
41
- },
42
- "devDependencies": {
43
- "@types/node": "^24.0.0",
44
- "commander": "^14.0.0",
45
- "tsx": "^4.20.0",
46
- "typescript": "^5.9.0",
47
- "vitest": "^3.2.0",
48
- "yargs": "^18.0.0"
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
+ }