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.
- package/README.md +269 -0
- package/bin/omx.js +25 -0
- package/dist/agents/definitions.d.ts +22 -0
- package/dist/agents/definitions.d.ts.map +1 -0
- package/dist/agents/definitions.js +235 -0
- package/dist/agents/definitions.js.map +1 -0
- package/dist/cli/doctor.d.ts +11 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +157 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/index.d.ts +6 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +266 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/setup.d.ts +12 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +175 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/cli/version.d.ts +2 -0
- package/dist/cli/version.d.ts.map +1 -0
- package/dist/cli/version.js +17 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/config/generator.d.ts +14 -0
- package/dist/config/generator.d.ts.map +1 -0
- package/dist/config/generator.js +106 -0
- package/dist/config/generator.js.map +1 -0
- package/dist/hooks/__tests__/agents-overlay.test.d.ts +8 -0
- package/dist/hooks/__tests__/agents-overlay.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/agents-overlay.test.js +148 -0
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -0
- package/dist/hooks/agents-overlay.d.ts +34 -0
- package/dist/hooks/agents-overlay.d.ts.map +1 -0
- package/dist/hooks/agents-overlay.js +265 -0
- package/dist/hooks/agents-overlay.js.map +1 -0
- package/dist/hooks/emulator.d.ts +44 -0
- package/dist/hooks/emulator.d.ts.map +1 -0
- package/dist/hooks/emulator.js +108 -0
- package/dist/hooks/emulator.js.map +1 -0
- package/dist/hooks/keyword-detector.d.ts +27 -0
- package/dist/hooks/keyword-detector.d.ts.map +1 -0
- package/dist/hooks/keyword-detector.js +63 -0
- package/dist/hooks/keyword-detector.js.map +1 -0
- package/dist/hooks/session.d.ts +38 -0
- package/dist/hooks/session.d.ts.map +1 -0
- package/dist/hooks/session.js +135 -0
- package/dist/hooks/session.js.map +1 -0
- package/dist/hud/colors.d.ts +26 -0
- package/dist/hud/colors.d.ts.map +1 -0
- package/dist/hud/colors.js +71 -0
- package/dist/hud/colors.js.map +1 -0
- package/dist/hud/index.d.ts +12 -0
- package/dist/hud/index.d.ts.map +1 -0
- package/dist/hud/index.js +107 -0
- package/dist/hud/index.js.map +1 -0
- package/dist/hud/render.d.ts +9 -0
- package/dist/hud/render.d.ts.map +1 -0
- package/dist/hud/render.js +192 -0
- package/dist/hud/render.js.map +1 -0
- package/dist/hud/state.d.ts +21 -0
- package/dist/hud/state.d.ts.map +1 -0
- package/dist/hud/state.js +101 -0
- package/dist/hud/state.js.map +1 -0
- package/dist/hud/types.d.ts +87 -0
- package/dist/hud/types.d.ts.map +1 -0
- package/dist/hud/types.js +8 -0
- package/dist/hud/types.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/code-intel-server.d.ts +7 -0
- package/dist/mcp/code-intel-server.d.ts.map +1 -0
- package/dist/mcp/code-intel-server.js +567 -0
- package/dist/mcp/code-intel-server.js.map +1 -0
- package/dist/mcp/memory-server.d.ts +7 -0
- package/dist/mcp/memory-server.d.ts.map +1 -0
- package/dist/mcp/memory-server.js +359 -0
- package/dist/mcp/memory-server.js.map +1 -0
- package/dist/mcp/state-server.d.ts +7 -0
- package/dist/mcp/state-server.d.ts.map +1 -0
- package/dist/mcp/state-server.js +181 -0
- package/dist/mcp/state-server.js.map +1 -0
- package/dist/mcp/trace-server.d.ts +7 -0
- package/dist/mcp/trace-server.d.ts.map +1 -0
- package/dist/mcp/trace-server.js +205 -0
- package/dist/mcp/trace-server.js.map +1 -0
- package/dist/modes/base.d.ts +50 -0
- package/dist/modes/base.d.ts.map +1 -0
- package/dist/modes/base.js +140 -0
- package/dist/modes/base.js.map +1 -0
- package/dist/notifications/notifier.d.ts +30 -0
- package/dist/notifications/notifier.d.ts.map +1 -0
- package/dist/notifications/notifier.js +124 -0
- package/dist/notifications/notifier.js.map +1 -0
- package/dist/team/orchestrator.d.ts +54 -0
- package/dist/team/orchestrator.d.ts.map +1 -0
- package/dist/team/orchestrator.js +106 -0
- package/dist/team/orchestrator.js.map +1 -0
- package/dist/utils/package.d.ts +9 -0
- package/dist/utils/package.d.ts.map +1 -0
- package/dist/utils/package.js +31 -0
- package/dist/utils/package.js.map +1 -0
- package/dist/utils/paths.d.ts +27 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +60 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/verification/verifier.d.ts +32 -0
- package/dist/verification/verifier.d.ts.map +1 -0
- package/dist/verification/verifier.js +81 -0
- package/dist/verification/verifier.js.map +1 -0
- package/package.json +54 -0
- package/prompts/analyst.md +110 -0
- package/prompts/api-reviewer.md +98 -0
- package/prompts/architect.md +109 -0
- package/prompts/build-fixer.md +89 -0
- package/prompts/code-reviewer.md +105 -0
- package/prompts/critic.md +87 -0
- package/prompts/debugger.md +93 -0
- package/prompts/deep-executor.md +112 -0
- package/prompts/dependency-expert.md +99 -0
- package/prompts/designer.md +103 -0
- package/prompts/executor.md +99 -0
- package/prompts/explore.md +112 -0
- package/prompts/git-master.md +92 -0
- package/prompts/information-architect.md +267 -0
- package/prompts/performance-reviewer.md +94 -0
- package/prompts/planner.md +116 -0
- package/prompts/product-analyst.md +299 -0
- package/prompts/product-manager.md +255 -0
- package/prompts/qa-tester.md +98 -0
- package/prompts/quality-reviewer.md +105 -0
- package/prompts/quality-strategist.md +227 -0
- package/prompts/researcher.md +96 -0
- package/prompts/scientist.md +92 -0
- package/prompts/security-reviewer.md +125 -0
- package/prompts/style-reviewer.md +87 -0
- package/prompts/test-engineer.md +103 -0
- package/prompts/ux-researcher.md +282 -0
- package/prompts/verifier.md +95 -0
- package/prompts/vision.md +75 -0
- package/prompts/writer.md +86 -0
- package/scripts/notify-hook.js +237 -0
- package/skills/analyze/SKILL.md +93 -0
- package/skills/autopilot/SKILL.md +175 -0
- package/skills/build-fix/SKILL.md +123 -0
- package/skills/cancel/SKILL.md +387 -0
- package/skills/code-review/SKILL.md +208 -0
- package/skills/configure-discord/SKILL.md +256 -0
- package/skills/configure-telegram/SKILL.md +232 -0
- package/skills/deepinit/SKILL.md +320 -0
- package/skills/deepsearch/SKILL.md +38 -0
- package/skills/doctor/SKILL.md +193 -0
- package/skills/ecomode/SKILL.md +114 -0
- package/skills/frontend-ui-ux/SKILL.md +34 -0
- package/skills/git-master/SKILL.md +29 -0
- package/skills/help/SKILL.md +192 -0
- package/skills/hud/SKILL.md +97 -0
- package/skills/learn-about-omx/SKILL.md +37 -0
- package/skills/learner/SKILL.md +135 -0
- package/skills/note/SKILL.md +62 -0
- package/skills/omx-setup/SKILL.md +1147 -0
- package/skills/pipeline/SKILL.md +407 -0
- package/skills/plan/SKILL.md +223 -0
- package/skills/project-session-manager/SKILL.md +560 -0
- package/skills/psm/SKILL.md +20 -0
- package/skills/ralph/SKILL.md +197 -0
- package/skills/ralph-init/SKILL.md +38 -0
- package/skills/ralplan/SKILL.md +34 -0
- package/skills/release/SKILL.md +83 -0
- package/skills/research/SKILL.md +510 -0
- package/skills/review/SKILL.md +30 -0
- package/skills/security-review/SKILL.md +284 -0
- package/skills/skill/SKILL.md +837 -0
- package/skills/swarm/SKILL.md +25 -0
- package/skills/tdd/SKILL.md +106 -0
- package/skills/team/SKILL.md +860 -0
- package/skills/trace/SKILL.md +33 -0
- package/skills/ultrapilot/SKILL.md +632 -0
- package/skills/ultraqa/SKILL.md +130 -0
- package/skills/ultrawork/SKILL.md +143 -0
- package/skills/writer-memory/SKILL.md +443 -0
- package/templates/AGENTS.md +326 -0
package/README.md
ADDED
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
# oh-my-codex (OMX)
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/oh-my-codex)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
[](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"}
|