Files
oh-my-opencode/packages/omo-codex
YeonGyu-Kim a49acecc3a feat(omo-codex): link bundled component agents into codex home
Discover component .toml agent files and symlink (or copy on Windows)
them into the Codex agents dir during install, recording an installed
agent manifest and wiring agent config_file entries into config.toml.
Add CodexAgentConfig type and support local marketplace source.
2026-05-29 11:18:01 +09:00
..

@oh-my-opencode/omo-codex

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

Layout

Path Purpose
plugin/ Vendored Codex plugin namespace omo with 6 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.
  • ultragoal (TypeScript) - durable multi-goal orchestration backed by .omo/ultragoal/ evidence audit.
  • start-work-continuation (TypeScript) - Stop / SubagentStop continuation hook for .omo/boulder.json start-work plans.

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>/, 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.

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: