oh-my-codex 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.
Files changed (182) hide show
  1. package/README.md +269 -0
  2. package/bin/omx.js +25 -0
  3. package/dist/agents/definitions.d.ts +22 -0
  4. package/dist/agents/definitions.d.ts.map +1 -0
  5. package/dist/agents/definitions.js +235 -0
  6. package/dist/agents/definitions.js.map +1 -0
  7. package/dist/cli/doctor.d.ts +11 -0
  8. package/dist/cli/doctor.d.ts.map +1 -0
  9. package/dist/cli/doctor.js +157 -0
  10. package/dist/cli/doctor.js.map +1 -0
  11. package/dist/cli/index.d.ts +6 -0
  12. package/dist/cli/index.d.ts.map +1 -0
  13. package/dist/cli/index.js +266 -0
  14. package/dist/cli/index.js.map +1 -0
  15. package/dist/cli/setup.d.ts +12 -0
  16. package/dist/cli/setup.d.ts.map +1 -0
  17. package/dist/cli/setup.js +175 -0
  18. package/dist/cli/setup.js.map +1 -0
  19. package/dist/cli/version.d.ts +2 -0
  20. package/dist/cli/version.d.ts.map +1 -0
  21. package/dist/cli/version.js +17 -0
  22. package/dist/cli/version.js.map +1 -0
  23. package/dist/config/generator.d.ts +14 -0
  24. package/dist/config/generator.d.ts.map +1 -0
  25. package/dist/config/generator.js +106 -0
  26. package/dist/config/generator.js.map +1 -0
  27. package/dist/hooks/__tests__/agents-overlay.test.d.ts +8 -0
  28. package/dist/hooks/__tests__/agents-overlay.test.d.ts.map +1 -0
  29. package/dist/hooks/__tests__/agents-overlay.test.js +148 -0
  30. package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -0
  31. package/dist/hooks/agents-overlay.d.ts +34 -0
  32. package/dist/hooks/agents-overlay.d.ts.map +1 -0
  33. package/dist/hooks/agents-overlay.js +265 -0
  34. package/dist/hooks/agents-overlay.js.map +1 -0
  35. package/dist/hooks/emulator.d.ts +44 -0
  36. package/dist/hooks/emulator.d.ts.map +1 -0
  37. package/dist/hooks/emulator.js +108 -0
  38. package/dist/hooks/emulator.js.map +1 -0
  39. package/dist/hooks/keyword-detector.d.ts +27 -0
  40. package/dist/hooks/keyword-detector.d.ts.map +1 -0
  41. package/dist/hooks/keyword-detector.js +63 -0
  42. package/dist/hooks/keyword-detector.js.map +1 -0
  43. package/dist/hooks/session.d.ts +38 -0
  44. package/dist/hooks/session.d.ts.map +1 -0
  45. package/dist/hooks/session.js +135 -0
  46. package/dist/hooks/session.js.map +1 -0
  47. package/dist/hud/colors.d.ts +26 -0
  48. package/dist/hud/colors.d.ts.map +1 -0
  49. package/dist/hud/colors.js +71 -0
  50. package/dist/hud/colors.js.map +1 -0
  51. package/dist/hud/index.d.ts +12 -0
  52. package/dist/hud/index.d.ts.map +1 -0
  53. package/dist/hud/index.js +107 -0
  54. package/dist/hud/index.js.map +1 -0
  55. package/dist/hud/render.d.ts +9 -0
  56. package/dist/hud/render.d.ts.map +1 -0
  57. package/dist/hud/render.js +192 -0
  58. package/dist/hud/render.js.map +1 -0
  59. package/dist/hud/state.d.ts +21 -0
  60. package/dist/hud/state.d.ts.map +1 -0
  61. package/dist/hud/state.js +101 -0
  62. package/dist/hud/state.js.map +1 -0
  63. package/dist/hud/types.d.ts +87 -0
  64. package/dist/hud/types.d.ts.map +1 -0
  65. package/dist/hud/types.js +8 -0
  66. package/dist/hud/types.js.map +1 -0
  67. package/dist/index.d.ts +18 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +18 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/mcp/code-intel-server.d.ts +7 -0
  72. package/dist/mcp/code-intel-server.d.ts.map +1 -0
  73. package/dist/mcp/code-intel-server.js +567 -0
  74. package/dist/mcp/code-intel-server.js.map +1 -0
  75. package/dist/mcp/memory-server.d.ts +7 -0
  76. package/dist/mcp/memory-server.d.ts.map +1 -0
  77. package/dist/mcp/memory-server.js +359 -0
  78. package/dist/mcp/memory-server.js.map +1 -0
  79. package/dist/mcp/state-server.d.ts +7 -0
  80. package/dist/mcp/state-server.d.ts.map +1 -0
  81. package/dist/mcp/state-server.js +181 -0
  82. package/dist/mcp/state-server.js.map +1 -0
  83. package/dist/mcp/trace-server.d.ts +7 -0
  84. package/dist/mcp/trace-server.d.ts.map +1 -0
  85. package/dist/mcp/trace-server.js +205 -0
  86. package/dist/mcp/trace-server.js.map +1 -0
  87. package/dist/modes/base.d.ts +50 -0
  88. package/dist/modes/base.d.ts.map +1 -0
  89. package/dist/modes/base.js +140 -0
  90. package/dist/modes/base.js.map +1 -0
  91. package/dist/notifications/notifier.d.ts +30 -0
  92. package/dist/notifications/notifier.d.ts.map +1 -0
  93. package/dist/notifications/notifier.js +124 -0
  94. package/dist/notifications/notifier.js.map +1 -0
  95. package/dist/team/orchestrator.d.ts +54 -0
  96. package/dist/team/orchestrator.d.ts.map +1 -0
  97. package/dist/team/orchestrator.js +106 -0
  98. package/dist/team/orchestrator.js.map +1 -0
  99. package/dist/utils/package.d.ts +9 -0
  100. package/dist/utils/package.d.ts.map +1 -0
  101. package/dist/utils/package.js +31 -0
  102. package/dist/utils/package.js.map +1 -0
  103. package/dist/utils/paths.d.ts +27 -0
  104. package/dist/utils/paths.d.ts.map +1 -0
  105. package/dist/utils/paths.js +60 -0
  106. package/dist/utils/paths.js.map +1 -0
  107. package/dist/verification/verifier.d.ts +32 -0
  108. package/dist/verification/verifier.d.ts.map +1 -0
  109. package/dist/verification/verifier.js +81 -0
  110. package/dist/verification/verifier.js.map +1 -0
  111. package/package.json +54 -0
  112. package/prompts/analyst.md +110 -0
  113. package/prompts/api-reviewer.md +98 -0
  114. package/prompts/architect.md +109 -0
  115. package/prompts/build-fixer.md +89 -0
  116. package/prompts/code-reviewer.md +105 -0
  117. package/prompts/critic.md +87 -0
  118. package/prompts/debugger.md +93 -0
  119. package/prompts/deep-executor.md +112 -0
  120. package/prompts/dependency-expert.md +99 -0
  121. package/prompts/designer.md +103 -0
  122. package/prompts/executor.md +99 -0
  123. package/prompts/explore.md +112 -0
  124. package/prompts/git-master.md +92 -0
  125. package/prompts/information-architect.md +267 -0
  126. package/prompts/performance-reviewer.md +94 -0
  127. package/prompts/planner.md +116 -0
  128. package/prompts/product-analyst.md +299 -0
  129. package/prompts/product-manager.md +255 -0
  130. package/prompts/qa-tester.md +98 -0
  131. package/prompts/quality-reviewer.md +105 -0
  132. package/prompts/quality-strategist.md +227 -0
  133. package/prompts/researcher.md +96 -0
  134. package/prompts/scientist.md +92 -0
  135. package/prompts/security-reviewer.md +125 -0
  136. package/prompts/style-reviewer.md +87 -0
  137. package/prompts/test-engineer.md +103 -0
  138. package/prompts/ux-researcher.md +282 -0
  139. package/prompts/verifier.md +95 -0
  140. package/prompts/vision.md +75 -0
  141. package/prompts/writer.md +86 -0
  142. package/scripts/notify-hook.js +237 -0
  143. package/skills/analyze/SKILL.md +93 -0
  144. package/skills/autopilot/SKILL.md +175 -0
  145. package/skills/build-fix/SKILL.md +123 -0
  146. package/skills/cancel/SKILL.md +387 -0
  147. package/skills/code-review/SKILL.md +208 -0
  148. package/skills/configure-discord/SKILL.md +256 -0
  149. package/skills/configure-telegram/SKILL.md +232 -0
  150. package/skills/deepinit/SKILL.md +320 -0
  151. package/skills/deepsearch/SKILL.md +38 -0
  152. package/skills/doctor/SKILL.md +193 -0
  153. package/skills/ecomode/SKILL.md +114 -0
  154. package/skills/frontend-ui-ux/SKILL.md +34 -0
  155. package/skills/git-master/SKILL.md +29 -0
  156. package/skills/help/SKILL.md +192 -0
  157. package/skills/hud/SKILL.md +97 -0
  158. package/skills/learn-about-omx/SKILL.md +37 -0
  159. package/skills/learner/SKILL.md +135 -0
  160. package/skills/note/SKILL.md +62 -0
  161. package/skills/omx-setup/SKILL.md +1147 -0
  162. package/skills/pipeline/SKILL.md +407 -0
  163. package/skills/plan/SKILL.md +223 -0
  164. package/skills/project-session-manager/SKILL.md +560 -0
  165. package/skills/psm/SKILL.md +20 -0
  166. package/skills/ralph/SKILL.md +197 -0
  167. package/skills/ralph-init/SKILL.md +38 -0
  168. package/skills/ralplan/SKILL.md +34 -0
  169. package/skills/release/SKILL.md +83 -0
  170. package/skills/research/SKILL.md +510 -0
  171. package/skills/review/SKILL.md +30 -0
  172. package/skills/security-review/SKILL.md +284 -0
  173. package/skills/skill/SKILL.md +837 -0
  174. package/skills/swarm/SKILL.md +25 -0
  175. package/skills/tdd/SKILL.md +106 -0
  176. package/skills/team/SKILL.md +860 -0
  177. package/skills/trace/SKILL.md +33 -0
  178. package/skills/ultrapilot/SKILL.md +632 -0
  179. package/skills/ultraqa/SKILL.md +130 -0
  180. package/skills/ultrawork/SKILL.md +143 -0
  181. package/skills/writer-memory/SKILL.md +443 -0
  182. package/templates/AGENTS.md +326 -0
package/README.md ADDED
@@ -0,0 +1,269 @@
1
+ # oh-my-codex (OMX)
2
+
3
+ [![npm version](https://img.shields.io/npm/v/oh-my-codex)](https://www.npmjs.com/package/oh-my-codex)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](https://nodejs.org)
6
+
7
+ Multi-agent orchestration for [OpenAI Codex CLI](https://github.com/openai/codex). Inspired by [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode).
8
+
9
+ ## Why oh-my-codex?
10
+
11
+ Codex CLI is powerful on its own. OMX makes it **orchestrated**:
12
+
13
+ | Vanilla Codex CLI | With oh-my-codex |
14
+ |-------------------|-------------------|
15
+ | Single agent, single prompt | 30 specialized agents with role-specific prompts |
16
+ | Manual workflow management | 39 workflow skills (autopilot, team, plan, ralph...) |
17
+ | No persistent context | Project memory, session notepad, mode state via MCP |
18
+ | No multi-agent coordination | Team pipeline with verify/fix loops, up to 6 concurrent agents |
19
+ | No verification protocol | Evidence-backed verification with architect sign-off |
20
+
21
+ **Key design decision**: OMX is a pure add-on -- not a fork. It uses Codex CLI's native extension points so you always stay on upstream.
22
+
23
+ ## Prerequisites
24
+
25
+ - **Node.js** >= 20
26
+ - **[OpenAI Codex CLI](https://github.com/openai/codex)** installed (`npm install -g @openai/codex`)
27
+ - **OpenAI API key** configured
28
+
29
+ ## Quick Start
30
+
31
+ ```bash
32
+ # Install
33
+ npm install -g oh-my-codex
34
+
35
+ # Setup (installs prompts, skills, configures Codex CLI)
36
+ omx setup
37
+
38
+ # Verify installation
39
+ omx doctor
40
+
41
+ # Start using
42
+ omx
43
+ ```
44
+
45
+ Inside a Codex CLI session:
46
+
47
+ ```
48
+ > /prompts:architect "analyze the authentication module"
49
+ > /prompts:executor "add input validation to the login flow"
50
+ > $autopilot "build a REST API for user management"
51
+ > $team 3:executor "fix all TypeScript errors"
52
+ ```
53
+
54
+ ## How It Works
55
+
56
+ OMX installs into Codex CLI's native extension points:
57
+
58
+ | Extension Point | What OMX Uses It For |
59
+ |----------------|---------------------|
60
+ | `AGENTS.md` | Orchestration brain loaded at session start |
61
+ | `~/.codex/prompts/*.md` | 30 agent definitions as `/prompts:name` commands |
62
+ | `~/.agents/skills/*/SKILL.md` | 39 workflow skills invoked via `$name` |
63
+ | `config.toml` MCP servers | State management + project memory |
64
+ | `config.toml` notify | Post-turn logging and metrics |
65
+ | `config.toml` features | `collab` (sub-agents) + `child_agents_md` |
66
+
67
+ ```
68
+ User -> Codex CLI -> AGENTS.md (orchestration brain)
69
+ -> ~/.codex/prompts/*.md (30 agents)
70
+ -> ~/.agents/skills/*/SKILL.md (39 skills)
71
+ -> config.toml (MCP, notify, features)
72
+ -> .omx/ (state, memory, notepad, plans)
73
+ ```
74
+
75
+ ## Agent Catalog (30 agents)
76
+
77
+ Invoke agents with `/prompts:name` in Codex CLI.
78
+
79
+ ### Build & Analysis
80
+ | Agent | Tier | Description |
81
+ |-------|------|-------------|
82
+ | `/prompts:explore` | Low | Codebase discovery, symbol/file mapping |
83
+ | `/prompts:analyst` | High | Requirements clarity, acceptance criteria |
84
+ | `/prompts:planner` | High | Task sequencing, execution plans, risk flags |
85
+ | `/prompts:architect` | High | System design, boundaries, interfaces |
86
+ | `/prompts:debugger` | Standard | Root-cause analysis, failure diagnosis |
87
+ | `/prompts:executor` | Standard | Code implementation, refactoring |
88
+ | `/prompts:deep-executor` | High | Complex autonomous goal-oriented tasks |
89
+ | `/prompts:verifier` | Standard | Completion evidence, claim validation |
90
+
91
+ ### Review
92
+ | Agent | Tier | Description |
93
+ |-------|------|-------------|
94
+ | `/prompts:style-reviewer` | Low | Formatting, naming, lint conventions |
95
+ | `/prompts:quality-reviewer` | Standard | Logic defects, anti-patterns |
96
+ | `/prompts:api-reviewer` | Standard | API contracts, versioning |
97
+ | `/prompts:security-reviewer` | Standard | Vulnerabilities, OWASP Top 10 |
98
+ | `/prompts:performance-reviewer` | Standard | Hotspots, complexity optimization |
99
+ | `/prompts:code-reviewer` | High | Comprehensive review across concerns |
100
+
101
+ ### Domain Specialists
102
+ | Agent | Tier | Description |
103
+ |-------|------|-------------|
104
+ | `/prompts:dependency-expert` | Standard | External SDK/API evaluation |
105
+ | `/prompts:test-engineer` | Standard | Test strategy, coverage |
106
+ | `/prompts:quality-strategist` | Standard | Release readiness, risk assessment |
107
+ | `/prompts:build-fixer` | Standard | Build/toolchain failures |
108
+ | `/prompts:designer` | Standard | UX/UI architecture |
109
+ | `/prompts:writer` | Low | Docs, migration notes |
110
+ | `/prompts:qa-tester` | Standard | Interactive CLI validation |
111
+ | `/prompts:scientist` | Standard | Data/statistical analysis |
112
+ | `/prompts:git-master` | Standard | Commit strategy, history hygiene |
113
+ | `/prompts:researcher` | Standard | External documentation research |
114
+
115
+ ### Product
116
+ | Agent | Tier | Description |
117
+ |-------|------|-------------|
118
+ | `/prompts:product-manager` | Standard | Problem framing, PRDs |
119
+ | `/prompts:ux-researcher` | Standard | Heuristic audits, usability |
120
+ | `/prompts:information-architect` | Standard | Taxonomy, navigation |
121
+ | `/prompts:product-analyst` | Standard | Product metrics, experiments |
122
+
123
+ ### Coordination
124
+ | Agent | Tier | Description |
125
+ |-------|------|-------------|
126
+ | `/prompts:critic` | High | Plan/design critical challenge |
127
+ | `/prompts:vision` | Standard | Image/screenshot analysis |
128
+
129
+ ## Skills (39 skills)
130
+
131
+ Invoke skills with `$name` in Codex CLI (e.g., `$autopilot "build a REST API"`).
132
+
133
+ ### Execution Modes
134
+ | Skill | Description |
135
+ |-------|-------------|
136
+ | `$autopilot` | Full autonomous execution from idea to working code |
137
+ | `$ralph` | Persistence loop with architect verification |
138
+ | `$ultrawork` | Maximum parallelism with parallel agent orchestration |
139
+ | `$team` | N coordinated agents on shared task list |
140
+ | `$pipeline` | Sequential agent chaining with data passing |
141
+ | `$ecomode` | Token-efficient execution using lightweight models |
142
+ | `$ultrapilot` | Parallel autopilot with file ownership partitioning |
143
+ | `$ultraqa` | QA cycling: test, verify, fix, repeat |
144
+
145
+ ### Planning
146
+ | Skill | Description |
147
+ |-------|-------------|
148
+ | `$plan` | Strategic planning with optional consensus/review modes |
149
+ | `$ralplan` | Consensus planning (planner + architect + critic) |
150
+
151
+ ### Agent Shortcuts
152
+ | Skill | Routes To | Trigger |
153
+ |-------|-----------|---------|
154
+ | `$analyze` | debugger | "analyze", "debug", "investigate" |
155
+ | `$deepsearch` | explore | "search", "find in codebase" |
156
+ | `$tdd` | test-engineer | "tdd", "test first" |
157
+ | `$build-fix` | build-fixer | "fix build", "type errors" |
158
+ | `$code-review` | code-reviewer | "review code" |
159
+ | `$security-review` | security-reviewer | "security review" |
160
+ | `$frontend-ui-ux` | designer | UI/component work |
161
+ | `$git-master` | git-master | Git/commit work |
162
+
163
+ ### Utilities
164
+ `$cancel` `$doctor` `$help` `$note` `$trace` `$skill` `$learner` `$research` `$deepinit` `$release` `$hud` `$omx-setup` `$configure-telegram` `$configure-discord` `$writer-memory` `$psm` `$ralph-init` `$learn-about-omx` `$review`
165
+
166
+ ## Team Orchestration
167
+
168
+ The `$team` skill provides a staged multi-agent pipeline:
169
+
170
+ ```
171
+ team-plan -> team-prd -> team-exec -> team-verify -> team-fix (loop)
172
+ ```
173
+
174
+ Each stage uses specialized agents. The verify/fix loop is bounded by max attempts. Terminal states: `complete`, `failed`, `cancelled`.
175
+
176
+ ```
177
+ $team 3:executor "fix all TypeScript errors across the project"
178
+ $team 5:designer "implement responsive layouts for all pages"
179
+ $team ralph "build a complete REST API" # team + ralph persistence
180
+ ```
181
+
182
+ ## MCP Servers
183
+
184
+ OMX provides two MCP servers configured via `config.toml`:
185
+
186
+ - **`omx_state`** -- Mode lifecycle state (autopilot, ralph, ultrawork, team, etc.)
187
+ - **`omx_memory`** -- Project memory and session notepad
188
+
189
+ ## Magic Keywords
190
+
191
+ The AGENTS.md orchestration brain detects keywords and activates skills automatically:
192
+
193
+ | Say this... | Activates |
194
+ |-------------|-----------|
195
+ | "ralph", "don't stop", "keep going" | `$ralph` persistence loop |
196
+ | "autopilot", "build me" | `$autopilot` autonomous pipeline |
197
+ | "team", "coordinated team" | `$team` multi-agent orchestration |
198
+ | "plan this", "let's plan" | `$plan` strategic planning |
199
+ | "fix build", "type errors" | `$build-fix` build error resolution |
200
+
201
+ ## CLI Commands
202
+
203
+ ```bash
204
+ omx setup # Install and configure OMX
205
+ omx doctor # Run 9 installation health checks
206
+ omx status # Show active mode state
207
+ omx cancel # Cancel active execution modes
208
+ omx hud # Show HUD statusline (--watch, --json, --preset=NAME)
209
+ omx version # Print version info
210
+ omx help # Usage guide
211
+ ```
212
+
213
+ ## Setup Details
214
+
215
+ `omx setup` performs 7 steps:
216
+
217
+ 1. Creates directories (`~/.codex/prompts/`, `~/.agents/skills/`, `.omx/state/`)
218
+ 2. Installs 30 agent prompt files to `~/.codex/prompts/`
219
+ 3. Installs 39 skill directories to `~/.agents/skills/`
220
+ 4. Updates `~/.codex/config.toml` with MCP servers, features, notify hook, and `[tui] status_line`
221
+ 5. Generates `AGENTS.md` orchestration brain in the current project root
222
+ 6. Configures the post-turn notification hook
223
+ 7. Creates `.omx/hud-config.json` with default HUD preset
224
+
225
+ ## Coverage
226
+
227
+ ~92% feature parity with oh-my-claudecode (excluding MCP tools). See [COVERAGE.md](COVERAGE.md) for the detailed matrix and known gaps.
228
+
229
+ ## Project Structure
230
+
231
+ ```
232
+ oh-my-codex/
233
+ bin/omx.js # CLI entry point
234
+ src/
235
+ cli/ # CLI commands (setup, doctor, version, status, cancel, hud, help)
236
+ hud/ # HUD statusline (state readers, ANSI renderer, presets)
237
+ config/ # config.toml generator
238
+ agents/ # Agent definitions registry
239
+ mcp/ # MCP servers (state, memory)
240
+ hooks/ # Hook emulation layer + keyword detector
241
+ modes/ # Mode lifecycle management
242
+ team/ # Team orchestration (staged pipeline)
243
+ verification/ # Verification protocol
244
+ notifications/ # Desktop/Discord/Telegram notifications
245
+ utils/ # Path resolution, package utilities
246
+ prompts/ # 30 agent prompt files (*.md)
247
+ skills/ # 39 skill directories (*/SKILL.md)
248
+ templates/ # AGENTS.md template
249
+ scripts/ # notify-hook.js
250
+ ```
251
+
252
+ ## Development
253
+
254
+ ```bash
255
+ git clone https://github.com/Yeachan-Heo/oh-my-codex.git
256
+ cd oh-my-codex
257
+ npm install
258
+ npm run build
259
+ npm link
260
+ omx setup && omx doctor
261
+ ```
262
+
263
+ ## Acknowledgments
264
+
265
+ oh-my-codex is inspired by [oh-my-claudecode (OMC)](https://github.com/Yeachan-Heo/oh-my-claudecode), which pioneered multi-agent orchestration for Claude Code. OMX adapts the same concepts -- agent roles, workflow skills, orchestration brain, mode lifecycle -- to work with OpenAI's Codex CLI through its native extension points.
266
+
267
+ ## License
268
+
269
+ MIT
package/bin/omx.js ADDED
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env node
2
+
3
+ // oh-my-codex CLI entry point
4
+ // Supports both compiled (dist/) and direct TypeScript execution
5
+
6
+ import { fileURLToPath } from 'url';
7
+ import { dirname, join } from 'path';
8
+ import { existsSync } from 'fs';
9
+
10
+ const __filename = fileURLToPath(import.meta.url);
11
+ const __dirname = dirname(__filename);
12
+ const root = join(__dirname, '..');
13
+
14
+ // Try compiled first, fall back to source
15
+ const distEntry = join(root, 'dist', 'cli', 'index.js');
16
+ const srcEntry = join(root, 'src', 'cli', 'index.ts');
17
+
18
+ if (existsSync(distEntry)) {
19
+ const { main } = await import(distEntry);
20
+ main(process.argv.slice(2));
21
+ } else {
22
+ // Direct TS execution requires tsx or similar
23
+ console.error('oh-my-codex: run "npm run build" first, or use tsx/ts-node');
24
+ process.exit(1);
25
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Agent role definitions for oh-my-codex
3
+ * Each agent has a name, description, default model tier, and tool access pattern.
4
+ * Prompt content is loaded from the prompts/ directory at runtime.
5
+ */
6
+ export interface AgentDefinition {
7
+ name: string;
8
+ description: string;
9
+ model: 'haiku' | 'sonnet' | 'opus';
10
+ /** Tool access pattern */
11
+ tools: 'read-only' | 'analysis' | 'execution' | 'data';
12
+ /** Category for grouping */
13
+ category: 'build' | 'review' | 'domain' | 'product' | 'coordination';
14
+ }
15
+ export declare const AGENT_DEFINITIONS: Record<string, AgentDefinition>;
16
+ /** Get agent definition by name */
17
+ export declare function getAgent(name: string): AgentDefinition | undefined;
18
+ /** Get all agents in a category */
19
+ export declare function getAgentsByCategory(category: AgentDefinition['category']): AgentDefinition[];
20
+ /** Get all agent names */
21
+ export declare function getAgentNames(): string[];
22
+ //# sourceMappingURL=definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACnC,0BAA0B;IAC1B,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IACvD,4BAA4B;IAC5B,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,cAAc,CAAC;CACtE;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CA4N7D,CAAC;AAEF,mCAAmC;AACnC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAElE;AAED,mCAAmC;AACnC,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,eAAe,EAAE,CAE5F;AAED,0BAA0B;AAC1B,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC"}
@@ -0,0 +1,235 @@
1
+ /**
2
+ * Agent role definitions for oh-my-codex
3
+ * Each agent has a name, description, default model tier, and tool access pattern.
4
+ * Prompt content is loaded from the prompts/ directory at runtime.
5
+ */
6
+ export const AGENT_DEFINITIONS = {
7
+ // Build/Analysis Lane
8
+ 'explore': {
9
+ name: 'explore',
10
+ description: 'Fast codebase search and file/symbol mapping',
11
+ model: 'haiku',
12
+ tools: 'read-only',
13
+ category: 'build',
14
+ },
15
+ 'analyst': {
16
+ name: 'analyst',
17
+ description: 'Requirements clarity, acceptance criteria, hidden constraints',
18
+ model: 'opus',
19
+ tools: 'analysis',
20
+ category: 'build',
21
+ },
22
+ 'planner': {
23
+ name: 'planner',
24
+ description: 'Task sequencing, execution plans, risk flags',
25
+ model: 'opus',
26
+ tools: 'analysis',
27
+ category: 'build',
28
+ },
29
+ 'architect': {
30
+ name: 'architect',
31
+ description: 'System design, boundaries, interfaces, long-horizon tradeoffs',
32
+ model: 'opus',
33
+ tools: 'read-only',
34
+ category: 'build',
35
+ },
36
+ 'debugger': {
37
+ name: 'debugger',
38
+ description: 'Root-cause analysis, regression isolation, failure diagnosis',
39
+ model: 'sonnet',
40
+ tools: 'analysis',
41
+ category: 'build',
42
+ },
43
+ 'executor': {
44
+ name: 'executor',
45
+ description: 'Code implementation, refactoring, feature work',
46
+ model: 'sonnet',
47
+ tools: 'execution',
48
+ category: 'build',
49
+ },
50
+ 'deep-executor': {
51
+ name: 'deep-executor',
52
+ description: 'Complex autonomous goal-oriented tasks',
53
+ model: 'opus',
54
+ tools: 'execution',
55
+ category: 'build',
56
+ },
57
+ 'verifier': {
58
+ name: 'verifier',
59
+ description: 'Completion evidence, claim validation, test adequacy',
60
+ model: 'sonnet',
61
+ tools: 'analysis',
62
+ category: 'build',
63
+ },
64
+ // Review Lane
65
+ 'style-reviewer': {
66
+ name: 'style-reviewer',
67
+ description: 'Formatting, naming, idioms, lint conventions',
68
+ model: 'haiku',
69
+ tools: 'read-only',
70
+ category: 'review',
71
+ },
72
+ 'quality-reviewer': {
73
+ name: 'quality-reviewer',
74
+ description: 'Logic defects, maintainability, anti-patterns',
75
+ model: 'sonnet',
76
+ tools: 'read-only',
77
+ category: 'review',
78
+ },
79
+ 'api-reviewer': {
80
+ name: 'api-reviewer',
81
+ description: 'API contracts, versioning, backward compatibility',
82
+ model: 'sonnet',
83
+ tools: 'read-only',
84
+ category: 'review',
85
+ },
86
+ 'security-reviewer': {
87
+ name: 'security-reviewer',
88
+ description: 'Vulnerabilities, trust boundaries, authn/authz',
89
+ model: 'sonnet',
90
+ tools: 'read-only',
91
+ category: 'review',
92
+ },
93
+ 'performance-reviewer': {
94
+ name: 'performance-reviewer',
95
+ description: 'Hotspots, complexity, memory/latency optimization',
96
+ model: 'sonnet',
97
+ tools: 'read-only',
98
+ category: 'review',
99
+ },
100
+ 'code-reviewer': {
101
+ name: 'code-reviewer',
102
+ description: 'Comprehensive review across all concerns',
103
+ model: 'opus',
104
+ tools: 'read-only',
105
+ category: 'review',
106
+ },
107
+ // Domain Specialists
108
+ 'dependency-expert': {
109
+ name: 'dependency-expert',
110
+ description: 'External SDK/API/package evaluation',
111
+ model: 'sonnet',
112
+ tools: 'analysis',
113
+ category: 'domain',
114
+ },
115
+ 'test-engineer': {
116
+ name: 'test-engineer',
117
+ description: 'Test strategy, coverage, flaky-test hardening',
118
+ model: 'sonnet',
119
+ tools: 'execution',
120
+ category: 'domain',
121
+ },
122
+ 'quality-strategist': {
123
+ name: 'quality-strategist',
124
+ description: 'Quality strategy, release readiness, risk assessment',
125
+ model: 'sonnet',
126
+ tools: 'analysis',
127
+ category: 'domain',
128
+ },
129
+ 'build-fixer': {
130
+ name: 'build-fixer',
131
+ description: 'Build/toolchain/type failures resolution',
132
+ model: 'sonnet',
133
+ tools: 'execution',
134
+ category: 'domain',
135
+ },
136
+ 'designer': {
137
+ name: 'designer',
138
+ description: 'UX/UI architecture, interaction design',
139
+ model: 'sonnet',
140
+ tools: 'execution',
141
+ category: 'domain',
142
+ },
143
+ 'writer': {
144
+ name: 'writer',
145
+ description: 'Documentation, migration notes, user guidance',
146
+ model: 'haiku',
147
+ tools: 'execution',
148
+ category: 'domain',
149
+ },
150
+ 'qa-tester': {
151
+ name: 'qa-tester',
152
+ description: 'Interactive CLI/service runtime validation',
153
+ model: 'sonnet',
154
+ tools: 'execution',
155
+ category: 'domain',
156
+ },
157
+ 'scientist': {
158
+ name: 'scientist',
159
+ description: 'Data/statistical analysis and hypothesis testing',
160
+ model: 'sonnet',
161
+ tools: 'data',
162
+ category: 'domain',
163
+ },
164
+ 'git-master': {
165
+ name: 'git-master',
166
+ description: 'Commit strategy, history hygiene, rebasing',
167
+ model: 'sonnet',
168
+ tools: 'execution',
169
+ category: 'domain',
170
+ },
171
+ 'researcher': {
172
+ name: 'researcher',
173
+ description: 'External documentation and reference research',
174
+ model: 'sonnet',
175
+ tools: 'analysis',
176
+ category: 'domain',
177
+ },
178
+ // Product Lane
179
+ 'product-manager': {
180
+ name: 'product-manager',
181
+ description: 'Problem framing, personas/JTBD, PRDs',
182
+ model: 'sonnet',
183
+ tools: 'analysis',
184
+ category: 'product',
185
+ },
186
+ 'ux-researcher': {
187
+ name: 'ux-researcher',
188
+ description: 'Heuristic audits, usability, accessibility',
189
+ model: 'sonnet',
190
+ tools: 'analysis',
191
+ category: 'product',
192
+ },
193
+ 'information-architect': {
194
+ name: 'information-architect',
195
+ description: 'Taxonomy, navigation, findability',
196
+ model: 'sonnet',
197
+ tools: 'analysis',
198
+ category: 'product',
199
+ },
200
+ 'product-analyst': {
201
+ name: 'product-analyst',
202
+ description: 'Product metrics, funnel analysis, experiments',
203
+ model: 'sonnet',
204
+ tools: 'analysis',
205
+ category: 'product',
206
+ },
207
+ // Coordination
208
+ 'critic': {
209
+ name: 'critic',
210
+ description: 'Plan/design critical challenge and review',
211
+ model: 'opus',
212
+ tools: 'read-only',
213
+ category: 'coordination',
214
+ },
215
+ 'vision': {
216
+ name: 'vision',
217
+ description: 'Image/screenshot/diagram analysis',
218
+ model: 'sonnet',
219
+ tools: 'read-only',
220
+ category: 'coordination',
221
+ },
222
+ };
223
+ /** Get agent definition by name */
224
+ export function getAgent(name) {
225
+ return AGENT_DEFINITIONS[name];
226
+ }
227
+ /** Get all agents in a category */
228
+ export function getAgentsByCategory(category) {
229
+ return Object.values(AGENT_DEFINITIONS).filter(a => a.category === category);
230
+ }
231
+ /** Get all agent names */
232
+ export function getAgentNames() {
233
+ return Object.keys(AGENT_DEFINITIONS);
234
+ }
235
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * omx doctor - Validate oh-my-codex installation
3
+ */
4
+ interface DoctorOptions {
5
+ verbose?: boolean;
6
+ force?: boolean;
7
+ dryRun?: boolean;
8
+ }
9
+ export declare function doctor(options?: DoctorOptions): Promise<void>;
10
+ export {};
11
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAQD,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDvE"}