2026-05-25 22:24:51 +09:00
# @oh-my-opencode/omo-codex
2026-05-29 12:38:22 +09:00
Codex harness adapter for **oh-my-openagent ** . Brings the OMO experience (rules injection, comment checker, LSP MCP, ultrawork, ulw-loop, start-work continuation) into [OpenAI Codex CLI ](https://github.com/openai/codex ) through Codex's native plugin system.
2026-05-25 22:24:51 +09:00
## Layout
| Path | Purpose |
|------|---------|
2026-05-28 16:15:18 +09:00
| `plugin/` | Vendored Codex plugin namespace `omo` with 6 components. Shipped to the user via `~/.codex/plugins/cache/` . |
2026-05-25 22:24:51 +09:00
| `marketplace.json` | Codex marketplace manifest. Identifies `omo` as the single installable plugin. |
2026-05-27 18:48:33 +09:00
| `scripts/` | Node ESM build scripts for Codex cache installation and marketplace config updates. |
2026-05-25 22:24:51 +09:00
| `src/` | TypeScript runtime: installer + telemetry consumed by the omodex CLI. |
2026-05-27 19:10:38 +09:00
| `MARKETPLACE.md` | Native Codex marketplace notes for `sisyphuslabs` / `omo` . |
2026-05-25 22:24:51 +09:00
## Components Vendored
- `rules` (TypeScript) - injects `AGENTS.md` / `CLAUDE.md` / `.omo/rules/**` into context via `SessionStart` , `UserPromptSubmit` , `PostToolUse` , `PostCompact` .
- `comment-checker` (TypeScript) - runs `@code-yeongyu/comment-checker` after `apply_patch` / `edit` / `write` tool use.
- `lsp` (TypeScript + LSP MCP) - exposes LSP diagnostics, navigation, symbols, rename via MCP + post-edit hooks.
2026-05-28 15:07:51 +09:00
- `ultrawork` (TypeScript) - keyword detector (`ulw` / `ultrawork` ) that injects the full ultrawork directive; bundled agent TOML files are installed into `CODEX_HOME/agents` .
2026-05-29 12:38:22 +09:00
- `ulw-loop` (TypeScript) - durable multi-goal orchestration backed by `.omo/ulw-loop/` evidence audit.
2026-05-28 16:15:18 +09:00
- `start-work-continuation` (TypeScript) - `Stop` / `SubagentStop` continuation hook for `.omo/boulder.json` start-work plans.
2026-05-25 22:24:51 +09:00
## Install
2026-05-27 18:48:33 +09:00
End users invoke through the omodex CLI. This package is the **Light edition ** of omo — install it directly with:
2026-05-25 22:24:51 +09:00
``` bash
2026-05-27 18:48:33 +09:00
bunx omo install --platform= codex
# or via the shortcut alias (same compiled CLI, defaults --platform=codex):
bunx lazycodex install
# or the longer package names:
bunx oh-my-opencode install --platform= codex
bunx oh-my-openagent install --platform= codex
2026-05-25 22:24:51 +09:00
```
2026-05-27 18:48:33 +09:00
To install **both ** the Ultimate edition (OpenCode plugin) and the Light edition (this package) at once, use `--platform=both` .
2026-05-27 19:10:38 +09:00
The installer copies the built plugin into `~/.codex/plugins/cache/sisyphuslabs/omo/<version>/` , enables `omo@sisyphuslabs` in `~/.codex/config.toml` , and registers the `sisyphuslabs` marketplace from the `lazycodex` Git repository for native Codex marketplace upgrades. `lazycodex` is the repo/npm/bin alias; the marketplace identity remains `sisyphuslabs` .
2026-05-27 18:48:33 +09:00
To install both editions in one command, use `--platform=both` .
2026-05-25 22:24:51 +09:00
## Telemetry
2026-05-26 15:30:55 +09:00
Anonymous telemetry uses the same PostHog project as oh-my-openagent but emits the distinct event `omo_codex_daily_active` . The event is sent at most once per UTC day per machine from two sources:
| Source | Reason | Trigger |
|--------|--------|---------|
2026-05-27 18:48:33 +09:00
| `install` | `install_completed` | `bunx omo install --platform=codex` or `--platform=both` finishes (handled by `src/cli/install-codex/install-codex.ts` ) |
2026-05-26 15:30:55 +09:00
| `plugin` | `session_start` | Codex plugin `SessionStart` hook fires (handled by `plugin/components/telemetry/` ) |
Both sources share the same SHA256-hashed installation identifier (`sha256("omo-codex:" + hostname)` ), suppress PostHog person profiles, and write the daily dedup state to `~/.local/share/omo-codex/posthog-activity.json` .
Opt out with:
2026-05-25 22:24:51 +09:00
``` bash
2026-05-26 15:30:55 +09:00
# Codex-only
2026-05-25 22:24:51 +09:00
export OMO_CODEX_DISABLE_POSTHOG = 1
2026-05-26 15:30:55 +09:00
export OMO_CODEX_SEND_ANONYMOUS_TELEMETRY = 0
# Globally (also disables oh-my-openagent telemetry)
2026-05-25 22:24:51 +09:00
export OMO_DISABLE_POSTHOG = 1
2026-05-26 15:30:55 +09:00
export OMO_SEND_ANONYMOUS_TELEMETRY = 0
2026-05-25 22:24:51 +09:00
```
2026-05-26 15:30:55 +09:00
The identity constants and opt-out behavior are pinned across both sources by `src/telemetry/cross-package-equivalence.test.ts` .
2026-05-25 22:24:51 +09:00
See `/Users/yeongyu/local-workspaces/omodex/docs/legal/privacy-policy.md` for the full disclosure.
2026-05-27 18:48:33 +09:00
## Component Sources
2026-05-25 22:24:51 +09:00
2026-05-27 18:48:33 +09:00
The bundled component implementations come from the Sisyphus Labs Codex plugin family:
2026-05-25 22:24:51 +09:00
- [code-yeongyu/codex-rules ](https://github.com/code-yeongyu/codex-rules )
- [code-yeongyu/codex-comment-checker ](https://github.com/code-yeongyu/codex-comment-checker )
- [code-yeongyu/codex-lsp ](https://github.com/code-yeongyu/codex-lsp )
- [code-yeongyu/codex-ultrawork ](https://github.com/code-yeongyu/codex-ultrawork )
2026-05-29 12:38:22 +09:00
- [code-yeongyu/codex-ulw-loop ](https://github.com/code-yeongyu/codex-ulw-loop )
2026-05-28 16:15:18 +09:00
- [code-yeongyu/codex-start-work-continuation ](https://github.com/code-yeongyu/codex-start-work-continuation )