npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@yjjeong/omg

v0.2.0

Published

Multi-LLM team orchestrator for a single working directory.

Readme

omg

Multi-LLM team orchestrator for a single working directory.

omg coordinates provider CLIs as a team — Claude CLI, Codex CLI, and agy — while keeping provider and model names separate (Claude→Opus/Sonnet, Codex→GPT, agy/Antigravity→Gemini). Each agent gets a role (planner / implementer / reviewer / verifier), a single director resolves conflicts, and a shared context bus keeps handoffs intact.

A TUI (Ink/React) sits on top, so the team's reasoning, tool calls, and verdicts are visible at a glance.

Why

Most multi-LLM tools either pick one model per task or run them in isolation. omg treats provider-backed agents as a team with explicit roles and a consensus mechanism — a Claude/Opus planning step can inform a Codex/GPT implementation, and an agy/Gemini verdict does not silently stall the pipeline.

Prerequisites

  • Node ≥ 20
  • Linux, macOS, or Windows. The internal broker IPC uses a Unix-domain socket on POSIX and a named pipe on Windows. Windows support is experimental in v0.x — verify in your environment; WSL also works.
  • At least one provider CLI installed and logged in, OR --demo / --provider stub for a no-deps trial. Provider options:
    • claude — Claude Code; run claude /login after install.
    • codex — Codex CLI; codex login after install.
    • agy — Antigravity CLI command; run agy once for first-time auth.
    • gemini — Gemini CLI; legacy/standalone provider path, only needed when explicitly selected.

omg never sees your provider tokens; it spawns the CLIs you already authed.

After install, run omg doctor to verify your providers are installed, logged in, and (for Gemini) MCP-registered — it prints the exact fix command for any gap, and only flags the providers your active team preset actually uses. Add --install (omg doctor --install) to install the missing required provider CLIs using each provider's installer (npm i -g for npm-managed CLIs, Google's installer for agy). Add --install-sdk for API-key SDK paths, or --install-all for both. Then run the printed omg login <provider> to authenticate each CLI. omg login <provider> also re-runs a provider CLI's own login when its auth has expired. Use omg doctor --instructions to audit global/project instruction files for legacy .omc / .omx guidance without deleting anything.

For a guided first-run checklist, use omg setup. It scaffolds the local project files idempotently, runs doctor with instruction diagnostics, checks updates, then prints both setup paths: subscription CLI auth and API-key SDK. On bare omg startup, the same required-provider check runs before the Welcome/logo screen. If setup is incomplete, an Ink picker appears first; the default Enter action is real setup, not a checklist: it runs omg init, installs missing required provider CLIs with their installers, installs required SDKs, then re-checks before the normal TUI starts. Provider login stays explicit via omg login <provider>. A separate option installs optional provider CLIs too. Set OMG_SKIP_SETUP_GATE=1 (or the legacy OMG_SKIP_PREFLIGHT=1) to suppress this startup gate.

omg also checks for newer versions of omg, Claude Code, Codex CLI, and agy on normal startup. The check is advisory, cached, and written to stderr so headless JSON output stays clean. Run omg update for a full report, or omg update --install to apply npm-managed updates (omg, claude, codex). agy uses its native self-updater; if it remains stale, rerun Google's installer.

Quick Start

npm install -g @yjjeong/omg

omg setup                                         # first-run checklist
omg --demo                                         # no external CLI required
omg --run "hi" --provider stub --headless          # stubbed orchestrator turn
omg                                                # full TUI (provider CLI required)

omg --demo is the safest first-impression — it runs the full pipeline against a built-in stub provider, no auth or external binary needed.

Usage examples

# Real provider via OAuth subscription (no API credit consumed).
omg --run "draft a release note" --provider claude-cli
omg --run "draft a release note" --provider codex-cli
omg --run "draft a release note" --provider agy              # agy/Antigravity provider, Gemini model family
omg --run "draft a release note" --provider gemini-cli       # legacy standalone Gemini CLI

# Real provider via API key (uses official SDK; installs on demand).
omg --run "draft a release note" --provider claude          # @anthropic-ai/sdk
omg --run "draft a release note" --provider codex           # openai
omg --run "draft a release note" --provider gemini          # @google/genai

# Multi-role team with voting consensus.
omg --team-run "ship a python hello world" --provider claude-cli --headless \
    --reviewers reviewer,verifier --strategy voting

# Agentic loop — tool results feed back into the next turn.
omg --run "demo" --provider stub --tools --loop --headless

CLI surface

omg [--version] [--help]
omg doctor [--json] [--install] [--install-sdk] [--install-all] [--instructions]
                                         # diagnose install / auth / SDK / instruction leakage
omg setup                                # guided first-run checklist
omg update [--json] [--install]          # check tool versions (+ npm-managed updates)
omg login <claude|codex|agy>          # antigravity/gemini remain explicit aliases
                                         # (re)authenticate a provider CLI
omg init                                 # scaffold AGENTS.md/CLAUDE.md/GEMINI.md + .omg/mcp.json here
omg --demo [--headless] [--tools | --write-tools] [--ask]
omg --run <PROMPT>      [--role <ROLE>] [--provider <P>] [--headless]
                        [--tools | --write-tools] [--loop --max-steps N]
omg --team-run <PROMPT> [--reviewers role1,role2,...] [--strategy S]
                        [--max-iterations N] [--provider <P>] [--headless]
                        [--tools | --write-tools]

Providers: policy (read from src/policy/team.yaml), stub, claude / codex / gemini (SDK), claude-cli / codex-cli / agy / antigravity-cli (recommended subscription CLIs), plus gemini-cli as an explicit legacy/standalone provider.

Consensus strategies: escalate (default — severity-first veto), voting (plurality), hierarchy (top reviewer wins).

Interactive TUI

Running omg with no flags opens the Ink TUI. Inside:

  • /help shows the full slash command list (/new, /switch, /team, /preset, /auto-commit, /predict, /mcp, /memory, /clear, etc.)
  • /update shows the same version report inside the TUI. For package updates, run omg update --install from a regular shell so npm can own the terminal.
  • /team --resume [checkpoint-id] resumes an interrupted team run from durable context in ~/.omg/team-runs/. Resume is a new team pass seeded with the original task + captured transcript, not a raw in-memory stack continuation.
  • /preset opens a picker for team policy mixes. Available families include single-provider presets, 70/30 provider-led presets, and balanced Claude/Codex/agy three-way presets. The row labels show the provider/model split (for example agy/Gemini); /preset list prints the catalog and /preset <name> remains scriptable.
  • Plain chat like “팀작업 이어서 진행해줘” / “continue the team work” is auto-routed to the same /team --resume path when no turn is currently running, so users do not need to remember the slash command after Esc.
  • Ctrl-O / Ctrl-P cycles tabs; Opt-1..9 jumps to a tab by index
  • Ctrl-R opens reverse history search
  • Ctrl-Z / Ctrl-Y undo / redo the current input
  • /quit or Ctrl-C to exit

State lives in ~/.omg/: team-preset, plan.json, memory.md, tabs/, continuums/, mcp.json.

Troubleshooting

  • Not sure what's misconfigured? Run omg doctor — it reports per-provider install / login / MCP status and the exact command to fix each gap. omg doctor --json emits the same as machine-readable JSON.
  • "binary not found on PATH" — install the provider CLI shown in the error message, or try omg --demo to confirm omg itself works.
  • TUI doesn't render properly — use a modern terminal (iTerm2, Alacritty, Kitty, Wezterm, recent Terminal.app, recent Windows Terminal via WSL). Legacy xterm with limited ANSI support may misrender.
  • Doesn't exit on /quitCtrl-C twice escalates; please file an issue if you hit this consistently.
  • "Cannot find module '@anthropic-ai/sdk'" when using --provider claude (the SDK, not claude-cli) — install it: npm install -g @anthropic-ai/sdk. Provider SDKs are optional peer dependencies.
  • Team role runs forever with no visible work — build roles are cancelled after 20 minutes with no output/tool progress; reviewers after 5 minutes. Override with OMG_TEAM_BUILD_IDLE_TIMEOUT_MS, OMG_TEAM_REVIEW_IDLE_TIMEOUT_MS, or OMG_TEAM_IDLE_TIMEOUT_MS.
  • Update nags are noisy/offline — set OMG_SKIP_UPDATE_CHECK=1. The default check is cached for 6 hours; override with OMG_UPDATE_CHECK_TTL_MS.
  • Windows ask/picker path is suspect — run npm run build && npm run test:windows-picker on the native Windows machine. It exercises the built hooked-tool proxy, named-pipe broker, and ~/.omg/hookedtool.log.

Platform support

| Platform | Status | |---|---| | Linux (x64 / ARM64) | ✅ Supported | | macOS (Intel / Apple Silicon) | ✅ Supported | | Windows (x64) | 🧪 Experimental — named-pipe IPC; verify locally. WSL also works. |

Development

git clone https://github.com/jyj902/omg.git
cd omg
npm install
npm run build          # tsc + copy-assets (verifies dist/cli.js --version)
npm test               # full vitest suite
npm run test:windows-picker # built hooked-tool picker smoke (named pipe on Windows)
npm run test:pack      # npm pack + clean-prefix install smoke
npm link               # `omg` global symlink → dist/cli.js

The repo's full design rationale lives in AGENTS.md (the single source of truth for all agents; CLAUDE.md is a thin stub that imports it) and .omg/audit/ (the architectural audit + cleanup queue).

License

MIT