oh-my-codex 0.11.4 → 0.11.6

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 (33) hide show
  1. package/Cargo.lock +5 -13
  2. package/Cargo.toml +1 -1
  3. package/README.md +84 -107
  4. package/dist/cli/__tests__/doctor-team.test.js +34 -0
  5. package/dist/cli/__tests__/doctor-team.test.js.map +1 -1
  6. package/dist/cli/__tests__/team.test.js +22 -0
  7. package/dist/cli/__tests__/team.test.js.map +1 -1
  8. package/dist/cli/doctor.d.ts.map +1 -1
  9. package/dist/cli/doctor.js +4 -5
  10. package/dist/cli/doctor.js.map +1 -1
  11. package/dist/cli/team.d.ts.map +1 -1
  12. package/dist/cli/team.js +2 -0
  13. package/dist/cli/team.js.map +1 -1
  14. package/dist/hooks/__tests__/notify-fallback-watcher.test.js +111 -3
  15. package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
  16. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +54 -1
  17. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
  18. package/dist/scripts/notify-fallback-watcher.js +16 -3
  19. package/dist/scripts/notify-fallback-watcher.js.map +1 -1
  20. package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
  21. package/dist/scripts/notify-hook/team-leader-nudge.js +2 -11
  22. package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
  23. package/dist/team/__tests__/leader-activity.test.d.ts +2 -0
  24. package/dist/team/__tests__/leader-activity.test.d.ts.map +1 -0
  25. package/dist/team/__tests__/leader-activity.test.js +128 -0
  26. package/dist/team/__tests__/leader-activity.test.js.map +1 -0
  27. package/dist/team/leader-activity.d.ts +14 -0
  28. package/dist/team/leader-activity.d.ts.map +1 -0
  29. package/dist/team/leader-activity.js +137 -0
  30. package/dist/team/leader-activity.js.map +1 -0
  31. package/package.json +1 -3
  32. package/src/scripts/notify-fallback-watcher.ts +18 -3
  33. package/src/scripts/notify-hook/team-leader-nudge.ts +2 -8
package/Cargo.lock CHANGED
@@ -32,13 +32,11 @@ checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
32
32
 
33
33
  [[package]]
34
34
  name = "omx-explore-harness"
35
-
36
- version = "0.11.4"
35
+ version = "0.11.6"
37
36
 
38
37
  [[package]]
39
38
  name = "omx-mux"
40
- version = "0.11.4"
41
-
39
+ version = "0.11.6"
42
40
  dependencies = [
43
41
  "serde",
44
42
  "serde_json",
@@ -46,9 +44,7 @@ dependencies = [
46
44
 
47
45
  [[package]]
48
46
  name = "omx-runtime"
49
-
50
- version = "0.11.4"
51
-
47
+ version = "0.11.6"
52
48
  dependencies = [
53
49
  "omx-mux",
54
50
  "omx-runtime-core",
@@ -57,9 +53,7 @@ dependencies = [
57
53
 
58
54
  [[package]]
59
55
  name = "omx-runtime-core"
60
-
61
- version = "0.11.4"
62
-
56
+ version = "0.11.6"
63
57
  dependencies = [
64
58
  "fs2",
65
59
  "serde",
@@ -68,9 +62,7 @@ dependencies = [
68
62
 
69
63
  [[package]]
70
64
  name = "omx-sparkshell"
71
-
72
- version = "0.11.4"
73
-
65
+ version = "0.11.6"
74
66
 
75
67
  [[package]]
76
68
  name = "proc-macro2"
package/Cargo.toml CHANGED
@@ -10,7 +10,7 @@ resolver = "2"
10
10
 
11
11
  [workspace.package]
12
12
 
13
- version = "0.11.4"
13
+ version = "0.11.6"
14
14
 
15
15
  edition = "2021"
16
16
  license = "MIT"
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  <p align="center">
4
4
  <img src="https://yeachan-heo.github.io/oh-my-codex-website/omx-character-nobg.png" alt="oh-my-codex character" width="280">
5
5
  <br>
6
- <em>Make Codex easier to steer, reuse, and scale up.</em>
6
+ <em>Start Codex stronger, then let OMX add better prompts, workflows, and runtime help when the work grows.</em>
7
7
  </p>
8
8
 
9
9
  [![npm version](https://img.shields.io/npm/v/oh-my-codex)](https://www.npmjs.com/package/oh-my-codex)
@@ -14,161 +14,138 @@
14
14
  **Website:** https://yeachan-heo.github.io/oh-my-codex-website/
15
15
  **Docs:** [Getting Started](./docs/getting-started.html) · [Agents](./docs/agents.html) · [Skills](./docs/skills.html) · [Integrations](./docs/integrations.html) · [Demo](./DEMO.md) · [OpenClaw guide](./docs/openclaw-integration.md)
16
16
 
17
- OMX is an operational layer for [OpenAI Codex CLI](https://github.com/openai/codex).
17
+ OMX is a workflow layer for [OpenAI Codex CLI](https://github.com/openai/codex).
18
18
 
19
- It keeps Codex as the execution engine and adds:
20
- - installable **prompts** and **skills**
21
- - durable **team orchestration** for bigger tasks
22
- - operator commands like `setup`, `doctor`, `status`, and `cancel`
23
- - project/runtime state under `.omx/`
19
+ It keeps Codex as the execution engine and makes it easier to:
20
+ - start a stronger Codex session by default
21
+ - reuse good prompts with `/prompts:*`
22
+ - invoke workflows with skills like `$plan`, `$ralph`, and `$team`
23
+ - keep project guidance, plans, logs, and state in `.omx/`
24
24
 
25
- ## Who it is for
25
+ ## Recommended default flow
26
26
 
27
- Use OMX if you already like Codex and want one or more of these:
28
- - reusable agent prompts such as `/prompts:architect`
29
- - workflow shortcuts such as `$plan`, `$team`, and `$ralph`
30
- - a durable team runtime for bigger tasks
31
- - better visibility into long-running work
32
-
33
- If you just want plain Codex with no extra workflow layer, you probably do not need OMX.
34
-
35
- ## Quick start
36
-
37
- ### Requirements
38
-
39
- - Node.js 20+
40
- - Codex CLI installed: `npm install -g @openai/codex`
41
- - Codex auth configured
42
- - `tmux` if you want `omx team` on macOS/Linux
43
- - `psmux` if you want native Windows team mode
44
-
45
- ### Install
27
+ If you want the default OMX experience, start here:
46
28
 
47
29
  ```bash
48
30
  npm install -g @openai/codex oh-my-codex
49
31
  omx setup
50
- omx doctor
51
- ```
52
-
53
- ### Fastest useful example
54
-
55
- Launch Codex with OMX:
56
-
57
- ```bash
58
- omx
32
+ omx --madmax --high
59
33
  ```
60
34
 
61
- Then try one command inside Codex:
35
+ Then work normally inside Codex:
62
36
 
63
37
  ```text
64
38
  /prompts:architect "analyze the authentication flow"
39
+ $plan "ship this feature cleanly"
65
40
  ```
66
41
 
67
- That is the fastest way to feel what OMX changes: you get installable prompts, skills, and project guidance layered into a normal Codex session.
42
+ That is the main path.
43
+ Start OMX strongly, do the work in Codex, and let the agent pull in `$team` or other workflows only when the task actually needs them.
68
44
 
69
- ### First team run
45
+ ## What OMX is for
70
46
 
71
- If you want coordinated multi-agent execution:
47
+ Use OMX if you already like Codex and want a better day-to-day runtime around it:
48
+ - reusable role prompts such as `/prompts:architect` and `/prompts:executor`
49
+ - reusable workflows such as `$plan`, `$ralph`, `$team`, and `$deep-interview`
50
+ - project guidance through scoped `AGENTS.md`
51
+ - durable state under `.omx/` for plans, logs, memory, and mode tracking
72
52
 
73
- ```bash
74
- omx team 3:executor "fix the failing tests with verification"
75
- ```
53
+ If you want plain Codex with no extra workflow layer, you probably do not need OMX.
54
+
55
+ ## Quick start
56
+
57
+ ### Requirements
58
+
59
+ - Node.js 20+
60
+ - Codex CLI installed: `npm install -g @openai/codex`
61
+ - Codex auth configured
62
+ - `tmux` on macOS/Linux if you later want the durable team runtime
63
+ - `psmux` on native Windows if you later want Windows team mode
76
64
 
77
- Check on it later with:
65
+ ### A good first session
66
+
67
+ Launch OMX the recommended way:
78
68
 
79
69
  ```bash
80
- omx team status <team-name>
81
- omx team resume <team-name>
82
- omx team shutdown <team-name>
70
+ omx --madmax --high
83
71
  ```
84
72
 
85
- ## Core commands
73
+ Then try one prompt and one skill:
86
74
 
87
- ### In the terminal
75
+ ```text
76
+ /prompts:architect "analyze the authentication flow"
77
+ $plan "map the safest implementation path"
78
+ ```
88
79
 
89
- | Command | What it does |
90
- | --- | --- |
91
- | `omx` | Launch Codex with OMX wiring |
92
- | `omx setup` | Install prompts, skills, config, and AGENTS scaffolding |
93
- | `omx doctor` | Verify the install |
94
- | `omx team 3:executor "..."` | Start a coordinated tmux-based team |
95
- | `omx team status <team-name>` | Inspect a running team |
96
- | `omx status` | Show active OMX modes |
97
- | `omx cancel` | Cancel active modes |
98
- | `omx explore --prompt "..."` | Read-only repository exploration |
99
- | `omx sparkshell <command>` | Shell-native inspection helper |
100
- | `omx version` | Show version info |
101
-
102
- ### Inside Codex
103
-
104
- | Command | Use it for |
105
- | --- | --- |
106
- | `/prompts:architect "..."` | Analysis and boundary review |
107
- | `/prompts:executor "..."` | Focused implementation work |
108
- | `/skills` | Browse installed skills |
109
- | `$plan "..."` | Build a plan before implementation |
110
- | `$team 3:executor "..."` | Kick off coordinated team execution |
111
- | `$ralph "..."` | Run persistent sequential execution |
80
+ If the task grows, the agent can escalate to heavier workflows such as `$ralph` for persistent execution or `$team` for coordinated parallel work.
112
81
 
113
82
  ## A simple mental model
114
83
 
115
84
  OMX does **not** replace Codex.
116
85
 
117
- It adds a lightweight runtime around it:
86
+ It adds a better working layer around it:
118
87
  - **Codex** does the actual agent work
119
- - **OMX prompts and skills** make common roles and workflows reusable
120
- - **`omx team`** adds durable tmux/worktree orchestration for bigger jobs
121
- - **`.omx/`** stores runtime state, plans, logs, and memory
88
+ - **OMX prompts** make useful roles reusable
89
+ - **OMX skills** make common workflows reusable
90
+ - **`.omx/`** stores plans, logs, memory, and runtime state
91
+
92
+ Most users should think of OMX as **better prompting + better workflow + better runtime**, not as a command surface to operate manually all day.
122
93
 
123
94
  ## Start here if you are new
124
95
 
125
96
  1. Run `omx setup`
126
- 2. Run `omx`
127
- 3. Try `/prompts:architect "analyze <something>"`
128
- 4. Try `/skills`
129
- 5. When work gets bigger, use `$plan` or `omx team`
97
+ 2. Launch with `omx --madmax --high`
98
+ 3. Ask for analysis with `/prompts:architect "..."`
99
+ 4. Ask for planning with `$plan "..."`
100
+ 5. Let the agent decide when `$ralph`, `$team`, or another workflow is worth using
130
101
 
131
- ## Power-user notes
102
+ ## Common in-session surfaces
132
103
 
133
- ### Team Mode vs Ultrawork
134
-
135
- - **Team Mode** is the default for bigger, shared-context tasks. It gives you durable tmux/state/worktree orchestration.
136
- - **Ultrawork** is lighter parallel fanout for more independent subtasks.
104
+ | Surface | Use it for |
105
+ | --- | --- |
106
+ | `/prompts:architect "..."` | analysis, boundaries, tradeoffs |
107
+ | `/prompts:executor "..."` | focused implementation work |
108
+ | `/skills` | browsing installed skills |
109
+ | `$plan "..."` | planning before implementation |
110
+ | `$ralph "..."` | persistent sequential execution |
111
+ | `$team "..."` | coordinated parallel execution when the task is big enough |
137
112
 
138
- Short version: **Ultrawork is parallelism. Team Mode is orchestration.**
113
+ ## Advanced / operator surfaces
139
114
 
140
- ### `omx explore` vs `omx sparkshell`
115
+ These are useful, but they are not the main onboarding path.
141
116
 
142
- - Use **`omx explore`** for read-only repo lookup driven by a prompt.
143
- - Use **`omx sparkshell`** when you want direct shell-style inspection or tmux pane capture.
117
+ ### Team runtime
144
118
 
145
- Examples:
119
+ Use the team runtime when you specifically need durable tmux/worktree coordination, not as the default way to begin using OMX.
146
120
 
147
121
  ```bash
148
- omx explore --prompt "git log --oneline -10"
149
- omx sparkshell git status
150
- omx sparkshell --tmux-pane %12 --tail-lines 400
122
+ omx team 3:executor "fix the failing tests with verification"
123
+ omx team status <team-name>
124
+ omx team resume <team-name>
125
+ omx team shutdown <team-name>
151
126
  ```
152
127
 
153
- ### What `omx setup` writes
128
+ ### Setup, doctor, and HUD
154
129
 
155
- `omx setup` installs and updates the OMX surfaces Codex uses:
156
- - prompts under `~/.codex/prompts/`
157
- - skills under `~/.codex/skills/`
158
- - OMX config entries in Codex config
159
- - scope-aware `AGENTS.md` scaffolding
160
- - runtime state under `.omx/`
130
+ These are operator/support surfaces:
131
+ - `omx setup` installs prompts, skills, config, and AGENTS scaffolding
132
+ - `omx doctor` verifies the install when something seems wrong
133
+ - `omx hud --watch` is a monitoring/status surface, not the primary user workflow
161
134
 
162
- ### Model defaults
135
+ ### Explore and sparkshell
163
136
 
164
- OMX uses explicit default model lanes:
165
- - `OMX_DEFAULT_FRONTIER_MODEL`
166
- - `OMX_DEFAULT_STANDARD_MODEL`
167
- - `OMX_DEFAULT_SPARK_MODEL`
137
+ - `omx explore --prompt "..."` is for read-only repository lookup
138
+ - `omx sparkshell <command>` is for shell-native inspection and bounded verification
168
139
 
169
- You can override them in your shell env or in `~/.codex/.omx-config.json`.
140
+ Examples:
141
+
142
+ ```bash
143
+ omx explore --prompt "find where team state is written"
144
+ omx sparkshell git status
145
+ omx sparkshell --tmux-pane %12 --tail-lines 400
146
+ ```
170
147
 
171
- ## Platform notes
148
+ ### Platform notes for team mode
172
149
 
173
150
  `omx team` needs a tmux-compatible backend:
174
151
 
@@ -198,6 +198,40 @@ describe('omx doctor --team', () => {
198
198
  await rm(wd, { recursive: true, force: true });
199
199
  }
200
200
  });
201
+ it('does not emit stale_leader when leader recently checked team status', async () => {
202
+ const wd = await mkdtemp(join(tmpdir(), 'omx-doctor-team-'));
203
+ try {
204
+ const stateDir = join(wd, '.omx', 'state');
205
+ const teamRoot = join(stateDir, 'team', 'eta');
206
+ await mkdir(join(teamRoot, 'workers', 'worker-1'), { recursive: true });
207
+ await writeFile(join(teamRoot, 'config.json'), JSON.stringify({
208
+ name: 'eta',
209
+ tmux_session: 'omx-team-eta',
210
+ }));
211
+ await writeFile(join(stateDir, 'hud-state.json'), JSON.stringify({
212
+ last_turn_at: new Date(Date.now() - 300_000).toISOString(),
213
+ turn_count: 5,
214
+ }));
215
+ await writeFile(join(stateDir, 'leader-runtime-activity.json'), JSON.stringify({
216
+ last_activity_at: new Date(Date.now() - 5_000).toISOString(),
217
+ last_source: 'team_status',
218
+ last_team_name: 'eta',
219
+ }));
220
+ const fakeBin = join(wd, 'bin');
221
+ await mkdir(fakeBin, { recursive: true });
222
+ const tmuxPath = join(fakeBin, 'tmux');
223
+ await writeFile(tmuxPath, '#!/bin/sh\nif [ "$1" = "list-sessions" ]; then echo "omx-team-eta"; exit 0; fi\nexit 0\n');
224
+ spawnSync('chmod', ['+x', tmuxPath], { encoding: 'utf-8' });
225
+ const res = runOmx(wd, ['doctor', '--team'], { PATH: `${fakeBin}:${process.env.PATH || ''}` });
226
+ if (shouldSkipForSpawnPermissions(res.error))
227
+ return;
228
+ assert.equal(res.status, 0, res.stderr || res.stdout);
229
+ assert.doesNotMatch(res.stdout, /stale_leader/);
230
+ }
231
+ finally {
232
+ await rm(wd, { recursive: true, force: true });
233
+ }
234
+ });
201
235
  it('does not emit orphan_tmux_session when tmux reports no server running', async () => {
202
236
  const wd = await mkdtemp(join(tmpdir(), 'omx-doctor-team-'));
203
237
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-team.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/doctor-team.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor-team.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/doctor-team.test.ts"],"names":[],"mappings":"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"}
@@ -1049,6 +1049,28 @@ describe('teamCommand status', () => {
1049
1049
  await rm(wd, { recursive: true, force: true });
1050
1050
  }
1051
1051
  });
1052
+ it('records leader runtime activity when team status is read', async () => {
1053
+ const wd = await mkdtemp(join(tmpdir(), 'omx-team-status-activity-'));
1054
+ const previousCwd = process.cwd();
1055
+ const logs = [];
1056
+ const originalLog = console.log;
1057
+ try {
1058
+ process.chdir(wd);
1059
+ await withoutTeamTestWorkerEnv(() => initTeamState('activity-team', 'inspect activity', 'executor', 1, wd));
1060
+ console.log = (...args) => logs.push(args.map(String).join(' '));
1061
+ await withoutTeamTestWorkerEnv(() => teamCommand(['status', 'activity-team', '--json']));
1062
+ const activity = JSON.parse(await readFile(join(wd, '.omx', 'state', 'leader-runtime-activity.json'), 'utf-8'));
1063
+ assert.equal(activity.last_source, 'team_status');
1064
+ assert.equal(activity.last_team_name, 'activity-team');
1065
+ assert.ok(typeof activity.last_activity_at === 'string' && activity.last_activity_at.length > 0);
1066
+ assert.ok(typeof activity.last_team_status_at === 'string' && activity.last_team_status_at.length > 0);
1067
+ }
1068
+ finally {
1069
+ console.log = originalLog;
1070
+ process.chdir(previousCwd);
1071
+ await rm(wd, { recursive: true, force: true });
1072
+ }
1073
+ });
1052
1074
  it('supports custom tail lines for generated sparkshell commands', async () => {
1053
1075
  const wd = await mkdtemp(join(tmpdir(), 'omx-team-status-tail-lines-'));
1054
1076
  const previousCwd = process.cwd();