gui4cli 0.0.2 → 0.0.4

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 (2) hide show
  1. package/README.md +26 -54
  2. package/package.json +63 -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. The original file is unchanged.
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.
22
+ A folder works too: `gui4cli . --entry bin/cli.js`.
35
23
 
36
- ### Try a script
24
+ ## What you get
37
25
 
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
- ```
26
+ - Detects Commander and yargs (JSDoc and `--help` are fallbacks)
27
+ - One window: fields, command preview, Run, live stdout/stderr, exit code
28
+ - Remembers last-run values
29
+ - `--json` prints the form and exits (CI, no GUI)
30
+ - `--build` writes a reusable windowd folder that wraps the original script in place (no `.exe`, no rewrite)
42
31
 
43
- Optional overrides: `gui4cli.config.js` or `gui4cli.json` next to the script.
32
+ Optional overrides: `gui4cli.config.js` or `gui4cli.json` next to the script. Flags: [CLI](https://gui4cli.dev/docs/cli).
44
33
 
45
- ## Project Structure
34
+ ## Development
46
35
 
36
+ ```bash
37
+ pnpm install
38
+ pnpm test
39
+ pnpm exec tsx src/cli.ts fixtures/resize.js --json
40
+ pnpm dev
47
41
  ```
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
- ```
54
-
55
- ## Features
56
-
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/` |
64
42
 
65
- ## Tech Stack
43
+ `pnpm dev` opens the Commander fixture. 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.
66
44
 
67
- - TypeScript, ESM, pnpm
68
- - Zod
69
- - windowd (Node + webview)
70
- - No database, auth, or LLM
45
+ 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/package.json CHANGED
@@ -1,50 +1,63 @@
1
- {
2
- "name": "gui4cli",
3
- "version": "0.0.2",
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.4",
4
+ "description": "Turn a Node.js CLI script into a desktop form. Inputs, Run, live output. The original file is unchanged.",
5
+ "type": "module",
6
+ "bin": {
7
+ "gui4cli": "bin/gui4cli.js"
8
+ },
9
+ "files": [
10
+ "bin",
11
+ "dist",
12
+ "README.md",
13
+ "LICENSE"
14
+ ],
15
+ "scripts": {
16
+ "dev": "tsx src/cli.ts fixtures/resize.js",
17
+ "detect": "tsx src/cli.ts fixtures/resize.js --json",
18
+ "build": "tsc",
19
+ "typecheck": "tsc --noEmit",
20
+ "test": "vitest run",
21
+ "prepare": "tsc",
22
+ "prepublishOnly": "node scripts/publish-gate.mjs && pnpm test && pnpm build",
23
+ "site:dev": "pnpm --dir site dev",
24
+ "site:build": "pnpm --dir site build",
25
+ "site:check": "pnpm --dir site check",
26
+ "site:deploy": "pnpm --dir site run ship",
27
+ "ship": "pnpm --dir site run ship"
28
+ },
29
+ "keywords": [
30
+ "cli",
31
+ "desktop",
32
+ "gui",
33
+ "commander",
34
+ "yargs",
35
+ "form"
36
+ ],
37
+ "license": "MIT",
38
+ "author": "Catalyst Forge LLC",
39
+ "homepage": "https://gui4cli.dev",
40
+ "repository": {
41
+ "type": "git",
42
+ "url": "git+https://github.com/Catalyst-Forge-LLC/gui4cli.git"
43
+ },
44
+ "bugs": {
45
+ "url": "https://github.com/Catalyst-Forge-LLC/gui4cli/issues"
46
+ },
47
+ "engines": {
48
+ "node": ">=20"
49
+ },
50
+ "dependencies": {
51
+ "windowd": "^0.7.0",
52
+ "zod": "^3.25.0"
53
+ },
54
+ "devDependencies": {
55
+ "@types/node": "^24.0.0",
56
+ "commander": "^14.0.0",
57
+ "smellcheck": "^0.3.4",
58
+ "tsx": "^4.20.0",
59
+ "typescript": "^5.9.0",
60
+ "vitest": "^3.2.0",
61
+ "yargs": "^18.0.0"
62
+ }
63
+ }