Files
oh-my-opencode/packages/omo-codex

@oh-my-opencode/omo-codex

Codex harness adapter for oh-my-openagent. Brings the OMO experience (rules injection, comment checker, LSP MCP, ultrawork, ulw-loop, start-work continuation, telemetry) into OpenAI Codex CLI through Codex's native plugin system.

Layout

Path Purpose
plugin/ Vendored Codex plugin namespace omo with isolated components. Shipped to the user via ~/.codex/plugins/cache/.
marketplace.json Codex marketplace manifest. Identifies omo as the single installable plugin.
scripts/ Node ESM build scripts for Codex cache installation and marketplace config updates.
src/ TypeScript runtime: installer + telemetry consumed by the omodex CLI.
MARKETPLACE.md Native Codex marketplace notes for sisyphuslabs / omo.

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.
  • ultrawork (TypeScript) - keyword detector (ulw / ultrawork) that injects the full ultrawork directive; bundled agent TOML files are installed into CODEX_HOME/agents.
  • ulw-loop (TypeScript) - durable multi-goal orchestration backed by .omo/ulw-loop/ evidence audit.
  • start-work-continuation (TypeScript) - Stop / SubagentStop continuation hook for .omo/boulder.json start-work plans.
  • telemetry (TypeScript) - anonymous daily active telemetry hook.

Install

End users invoke through the omodex CLI. This package is the Light edition of omo — install it directly with:

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

To install both the Ultimate edition (OpenCode plugin) and the Light edition (this package) at once, use --platform=both.

The installer copies the built plugin into ~/.codex/plugins/cache/sisyphuslabs/omo/<version>/, writes stable agent TOML links through ~/.codex/.tmp/marketplaces/sisyphuslabs/plugins/omo/, enables omo@sisyphuslabs in ~/.codex/config.toml, and registers the sisyphuslabs marketplace from the local built cache. lazycodex is the repo/npm/bin alias; the marketplace identity remains sisyphuslabs.

Native Windows installs require Git Bash before the installer mutates ~/.codex/:

winget install --id Git.Git -e --source winget
where bash

For a custom Git Bash location:

setx OMO_CODEX_GIT_BASH_PATH "C:\Program Files\Git\bin\bash.exe"
$env:OMO_CODEX_GIT_BASH_PATH = "C:\Program Files\Git\bin\bash.exe"

The installer does not write a global Codex shell config. The rules component injects conditional Windows guidance telling Codex to use Git Bash for shell commands.

To install both editions in one command, use --platform=both.

Telemetry

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
install install_completed bunx omo install --platform=codex or --platform=both finishes (handled by src/cli/install-codex/install-codex.ts)
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:

# Codex-only
export OMO_CODEX_DISABLE_POSTHOG=1
export OMO_CODEX_SEND_ANONYMOUS_TELEMETRY=0

# Globally (also disables oh-my-openagent telemetry)
export OMO_DISABLE_POSTHOG=1
export OMO_SEND_ANONYMOUS_TELEMETRY=0

The identity constants and opt-out behavior are pinned across both sources by src/telemetry/cross-package-equivalence.test.ts.

See /Users/yeongyu/local-workspaces/omodex/docs/legal/privacy-policy.md for the full disclosure.

Component Sources

The bundled component implementations come from the Sisyphus Labs Codex plugin family: