codex-devtools 0.1.1

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 ADDED
@@ -0,0 +1,117 @@
1
+ # codex-devtools
2
+
3
+ Desktop app for inspecting Codex session data.
4
+
5
+ ## Prerequisites
6
+
7
+ - Node.js 20+ (Node 24 works)
8
+ - `pnpm` 10 (via Corepack recommended)
9
+
10
+ ## Build and run
11
+
12
+ ```bash
13
+ cd /Users/ivan/git/codex-devtools
14
+ corepack enable
15
+ pnpm install
16
+ pnpm approve-builds
17
+ ```
18
+
19
+ In `pnpm approve-builds`, approve:
20
+
21
+ - `electron`
22
+ - `esbuild`
23
+
24
+ Then start the desktop app in development mode:
25
+
26
+ ```bash
27
+ pnpm dev
28
+ ```
29
+
30
+ ## Production build
31
+
32
+ ```bash
33
+ pnpm build
34
+ ```
35
+
36
+ Build artifacts are generated in:
37
+
38
+ - `dist-electron`
39
+ - `out/renderer`
40
+
41
+ Create desktop installers/packages locally:
42
+
43
+ ```bash
44
+ pnpm dist
45
+ ```
46
+
47
+ Platform-specific package commands:
48
+
49
+ - `pnpm dist:mac` (macOS: `.dmg`, `.zip`)
50
+ - `pnpm dist:win` (Windows: NSIS installer)
51
+ - `pnpm dist:linux` (Linux: AppImage, `.deb`, `.rpm`)
52
+
53
+ ## Standalone mode
54
+
55
+ Run as an HTTP server (without launching Electron):
56
+
57
+ ```bash
58
+ pnpm standalone
59
+ ```
60
+
61
+ Default URL:
62
+
63
+ - `http://localhost:3456`
64
+
65
+ ## Environment variables
66
+
67
+ - `CODEX_SESSIONS_PATH`: path to Codex sessions directory (default: `~/.codex/sessions`)
68
+ - `HOST`: standalone server host (default: `0.0.0.0`)
69
+ - `PORT`: standalone server port (default: `3456`)
70
+
71
+ ## Scripts
72
+
73
+ - `pnpm dev`: start Electron app in dev mode
74
+ - `pnpm build`: build renderer + Electron main/preload
75
+ - `pnpm dist`: build macOS + Windows + Linux packages
76
+ - `pnpm dist:mac`: build macOS packages
77
+ - `pnpm dist:win`: build Windows installer
78
+ - `pnpm dist:linux`: build Linux packages
79
+ - `pnpm standalone`: build and run standalone HTTP server
80
+ - `pnpm test`: run tests with Vitest
81
+ - `pnpm lint`: run ESLint
82
+ - `pnpm typecheck`: run TypeScript type checks
83
+
84
+ ## CI/CD
85
+
86
+ - `.github/workflows/ci.yml`: typecheck/lint/build/test on `main` and PRs.
87
+ - `.github/workflows/release.yml`: cross-platform packaging on semver tags (`v*`) and manual dispatch.
88
+ - `.github/workflows/npm-publish.yml`: npm publish on semver tags (`v*`) and manual dispatch.
89
+
90
+ Required GitHub repository secret for npm publishing:
91
+
92
+ - `NPM_TOKEN`: npm automation token (or granular token with publish + 2FA bypass).
93
+
94
+ ## Versioning (SemVer)
95
+
96
+ Releases use semantic version tags:
97
+
98
+ - `vMAJOR.MINOR.PATCH` (example: `v0.1.1`)
99
+ - optional pre-release/build metadata (`v1.2.3-beta.1`, `v1.2.3+build.4`)
100
+
101
+ Tag and publish flow:
102
+
103
+ ```bash
104
+ npm version patch
105
+ git push origin main --follow-tags
106
+ ```
107
+
108
+ `release.yml` and `npm-publish.yml` validate tag format and fail if the tag is not valid SemVer.
109
+
110
+ ## Troubleshooting
111
+
112
+ If `pnpm dev` fails with `Electron failed to install correctly` or `Electron uninstall`:
113
+
114
+ 1. Run `pnpm approve-builds`
115
+ 2. Approve `electron` and `esbuild`
116
+ 3. Run `pnpm install` again
117
+ 4. Retry `pnpm dev`