{"id":"c238525a-4284-483f-8e79-aab696c0cb70","slug":"omg","kind":"mcp","name":"OMG","summary":"Local-first coordination and recovery for people and AI coding agents.","owner":"jeremy-merchant","repoUrl":"https://github.com/jeremy-merchant/OMG","license":"Apache-2.0","licenseTier":"permissive","trust":"community","stars":1,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-07-23T19:39:10.000Z","addedAt":"2026-10-21T09:21:59.475Z","logoUrl":"https://avatars.githubusercontent.com/u/126471662?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["databases"],"tags":["ai-agents","developer-tools","golang","local-first","sqlite"],"runtime":"go","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-26T07:21:53.989Z","sample":false,"url":"https://conduits.dev/tools/omg","language":"Go","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<div align=\"center\">\n\n<img src=\"docs/assets/oh-my-group-hero.svg\" alt=\"Oh My Group — Git-native coordination for coding agents\" width=\"100%\" />\n\n# Oh My Group\n\n### The `omg` CLI: a local coordination layer for AI coding agents.\n\n**Coordinate parallel work. Recover context. Verify completion.**\n\n[![Go](https://img.shields.io/badge/Go-1.26-00ADD8?logo=go&logoColor=white)](go.mod)\n[![License](https://img.shields.io/badge/license-Apache--2.0-4C1.svg)](LICENSE)\n![Local first](https://img.shields.io/badge/architecture-local--first-0F766E)\n![Daemonless](https://img.shields.io/badge/runtime-daemonless-2563EB)\n![Status](https://img.shields.io/badge/status-pre--1.0-F0AD45)\n\n<sub>Repository: <code>oh-my-group</code> · CLI: <code>omg</code> · Codex · Claude Code · OMP · OpenCode · Gemini · Cursor · Windsurf · Cline · shell agents</sub>\n\n[Quickstart](#quickstart) · [Why](#why-oh-my-group) · [Lifecycle](#coordination-lifecycle) · [How it works](#how-it-works) · [Safety](#safety-boundary) · [Documentation](#documentation)\n\n</div>\n\n> [!IMPORTANT]\n> Oh My Group is open-source under Apache-2.0 and currently pre-1.0. The executable remains `omg`. No stable binary release has been published yet; install from source and treat `main` as an evolving contract.\n\nOh My Group is **not another coding agent**. Its `omg` CLI is the durable coordination and recovery layer beneath the agents you already use.\n\nIt keeps lineage, tasks, runs, progress, dependencies, typed messages, handoffs, advisory path reservations, and observed Git state in one local SQLite ledger—without replacing your runtime, copying native transcripts, or taking control of Git.\n\n## Why Oh My Group\n\nCoding agents are fast. Multi-agent work is not automatically coordinated.\n\n| Without coordination | With the OMG CLI |\n| --- | --- |\n| Session context disappears when a chat ends. | Resumed and delegated sessions retain explicit lineage and handoff history. |\n| Parallel workers silently overlap. | Advisory path reservations and dependency state make conflicts visible. |\n| “Done” can mean “the agent stopped typing.” | `WORK_COMPLETE` stays separate from independently accepted `VERIFIED_DONE`. |\n| Questions and blockers live only in chat memory. | Typed `QUESTION`, `DEPENDENCY`, `CONFLICT`, `BLOCKED`, and `HANDOFF` messages survive until the target session returns. |\n| Coordination decisions and Git evidence are hard to connect. | The OMG CLI links them while Git remains the repository source of truth. |\n| Coordination logic is coupled to one harness. | Runtime-neutral commands work across Codex, Claude Code, OMP, OpenCode, MCP clients, and shell agents. |\n\n## Coordination lifecycle\n\nOh My Group is an integration and release boundary ledger. It scales coordination to risk instead of inserting itself into every development step.\n\n<p align=\"center\">\n  <img src=\"docs/assets/oh-my-group-lifecycle.svg\" alt=\"Observe, Work Lite, and Full coordination modes\" width=\"100%\" />\n</p>\n\n- **OBSERVE:** read-only diagnosis and log inspection with no preflight or coordination records.\n- **WORK_LITE:** one branch and one worker, with one controller-provided start command and one finish command around normal development and Git verification.\n- **FULL:** multiple candidates, shared rolling ownership, exact-SHA integration/Canary, deploy, database, authentication, payment, release, or explicit ownership transfer.\n\n## Quickstart\n\n### 1. Install from source\n\nRequires Go 1.26 or the version declared in [`go.mod`](go.mod).\n\n```bash\ngo install github.com/jeremy-merchant/oh-my-group/cmd/omg@main\nomg agent install\nomg agent doctor\n```\n\n`omg agent install` adds bounded instructions and always-on skills to supported agent discovery locations. Controllers provide complete OMG boundary commands; workers do not explore OMG help/schema surfaces or record ordinary RED/GREEN and diagnostic steps.\n\n### 2. Initialize a project safely\n\n`omg init` creates the project configuration and state location. The next `preflight` automatically applies every exact pending migration compiled into the installed binary. Before changing schema, the CLI creates and verifies a plan-bound backup, applies atomically, and checks integrity.\n\n```bash\nPROJECT=/absolute/path/to/your/project\n\nomg init --project \"$PROJECT\" --json\nomg preflight --project \"$PROJECT\" --json\n```\n\nUnknown, stale, checksum-divergent, backup-failed, or integrity-failed plans remain blocked. Normal initialization needs no approval file. Diagnostic and controlled-recovery commands remain documented in the [operator guide](docs/OPERATIONS.md#initialization-and-schema-lifecycle).\n\n### 3. See the project\n\n```bash\nomg preflight --project \"$PROJECT\"\nomg board all --project \"$PROJECT\" --format tty\nomg export html --project \"$PROJECT\" --output \"$PROJECT/omg-board.html\"\n```\n\nThe HTML board is static, self-contained, network-free, and written only to a new destination.\n\n### 4. Let sessions leave durable messages\n\nA session-scoped preflight returns a compact inbox summary without marking messages read or acknowledged.\n\n```bash\nomg preflight --project \"$PROJECT\" --session SESSION_ID --json\nomg message inbox --project \"$PROJECT\" \\\n  --payload '{\"recipient\":{\"session_id\":\"SESSION_ID\"}}' \\\n  --json\n```\n\nUse `QUESTION`, `DEPENDENCY`, `CONFLICT`, `BLOCKED`, or `HANDOFF` when another session needs information or action. Acknowledge only after handling the request.\n\n## What the OMG CLI tracks\n\n| Surface | What it preserves |\n| --- | --- |\n| **Lineage** | Human root, controller, delegated workers, continuations, and native-session references. |\n| **Work** | Tasks, runs, progress, dependencies, blockers, and acceptance state. |\n| **Coordination** | Typed messages, inbox state, acknowledgements, and advisory path reservations. |\n| **Handoffs** | Immutable summaries, changed files, verification evidence, remaining risks, and suggested next actions. |\n| **Git overlay** | Live repository risk plus OMG ownership; optional point-in-time evidence only when explicitly recorded. |\n| **Recovery** | Durable checkpoints and canonical state that survive interrupted or resumed sessions. |\n\n## How it works\n\n<p align=\"center\">\n  <img src=\"docs/assets/oh-my-group-architecture.svg\" alt=\"How Git, Oh My Group, coding agents, and safe execution fit together\" width=\"100%\" />\n</p>\n\n- **Git-native:** Git is authoritative for code, commits, refs, branches, worktrees, diffs, and history. The OMG CLI stores coordination and policy facts plus explicitly requested evidence.\n- **Local-first:** canonical coordination state lives in an owner-scoped SQLite store outside Git.\n- **Daemonless by default:** no background service, cloud account, Node runtime, Python runtime, or shared SQLite library is required.\n- **Runtime-neutral:** agents can use the global discovery harness, explicit wrappers, shell helpers, or the MCP stdio adapter.\n- **Pull-based messaging:** sessions discover pending actionable messages on their next scoped preflight, bootstrap, board, or checkpoint interaction.\n- **One projection:** every renderer starts from the same canonical, redacted snapshot.\n\n## Use the OMG CLI from any harness\n\nInstall once, then let supported agents discover the coordination contract automatically:\n\n```bash\nomg agent install\nomg agent status\n```\n\nWrap an existing runtime explicitly when you need a bounded entry point:\n\n```bash\nomg run --runtime codex -- codex\nomg run --runtime claude -- claude\n```\n\nExpose the same command policy over newline-delimited MCP JSON-RPC 2.0:\n\n```bash\nomg mcp serve --stdio\n```\n\nControllers launching parallel lanes can pre-register each worker and inject exact project, session, task, controller, and human identity:\n\n```bash\nomg worker bootstrap \\\n  --idempotency-key bootstrap-worker-1 \\\n  --output /absolute/private/worker-1.env \\\n  --json\n```\n\nSee the [worker bootstrap guide](docs/WORKER_BOOTSTRAP.md) for the controller contract and shell-safe cmux/OMP launch pattern.\n\n## Command map\n\n| Goal | Command |\n| --- | --- |\n| Check health and pending messages before work | `omg preflight --session SESSION_ID` |\n| See active work and blockers | `omg board all` |\n| Inspect one worker's scope | `omg board me` |\n| Inspect one task | `omg board task --task TASK_ID` |\n| Read one session inbox | `omg message inbox` |\n| Diagnose the global harness | `omg agent doctor` |\n| Generate shell helpers | `omg shell-init bash` |\n| Generate completions | `omg completion zsh` |\n| Export a reviewable board | `omg export html --output board.html` |\n\nRunning `omg` with no arguments prints a concise discovery view. A bare namespace such as `omg task` or `omg board` opens contextual help; `omg --help` prints the full global contract.\n\n## Safety boundary\n\nThe OMG CLI coordinates and observes. It does **not** silently acquire authority.\n\n| The OMG CLI does | The OMG CLI does not |\n| --- | --- |\n| Record lineage, work, messages, handoffs, reservations, and evidence. | Grant commit, push, deploy, credential, production, deletion, or publication authority. |\n| Observe repositories and worktrees. | Commit, merge, rebase, push, reset, clean, delete, or remove branches/worktrees. |\n| Redact raw prompts, message bodies, final output, tokens, private paths, and secret-like values by default. | Treat messages, model output, handoffs, tokens, or `VERIFIED_DONE` as human approval. |\n| Distinguish self-reported completion from independent verification. | Collapse `WORK_COMPLETE` and `VERIFIED_DONE` into one state. |\n\nAdditional guarantees:\n\n- Every exact migration compiled into the installed binary is eligible for backup-verified automatic application; unknown, stale, checksum-divergent, backup-failed, and integrity-failed plans fail closed.\n- Native conversation transcripts remain in their source runtime.\n- `.omg/` contains only tracked-safe configuration and operator-created plan/approval files; canonical mutable state stays outside Git.\n- File output is owner-only and refuses to overwrite an existing path.\n- Seeing an inbox message does not mark it read or acknowledged.\n- `SAFE_TO_REMOVE` is a classification, never authorization.\n\nRead the [security policy](SECURITY.md), [privacy contract](docs/PRIVACY.md), and [threat model](docs/THREAT_MODEL.md) before integrating the CLI into automated workflows.\n\n## Build from this checkout\n\nRelease binaries are built with `CGO_ENABLED=0`.\n\n```bash\ngo build -trimpath -o ./bin/omg ./cmd/omg\n./bin/omg version --json\n./bin/omg release status --json\n```\n\nThe expected source status is `SOURCE PUBLISHED`; `stable_release` remains `false` until a tagged stable release is created.\n\nThe deterministic hostile-input preview exercises every presentation without touching canonical state:\n\n```bash\ngo run ./examples/board-preview --format tty --output -\ngo run ./examples/board-preview --format html --output board-preview.html\ngo run ./examples/board-preview --format markdown --output board-preview.md\ngo run ./examples/board-preview --format json --output board-preview.json\n```\n\n## Documentation\n\n| Guide | Covers |\n| --- | --- |\n| [Operator guide](docs/OPERATIONS.md) | Storage, migrations, backup/recovery, watch, MCP, privacy, and troubleshooting. |\n| [Command reference](docs/COMMAND_REFERENCE.md) | Command syntax, payloads, JSON envelopes, and stable exit codes. |\n| [Global agent installation](docs/GLOBAL_AGENT_INSTALL.md) | Discovery surfaces, offline candidates, uninstall behavior, and release contract. |\n| [Worker bootstrap](docs/WORKER_BOOTSTRAP.md) | Controller registration, worker startup, and cmux/OMP launch patterns. |\n| [Adapter guide](docs/ADAPTERS.md) | Runtime wrappers, shell integration, watch, MCP, and native-session metadata. |\n| [Interface research](docs/INTERFACE_RESEARCH_2026.md) | 2026 CLI research, OMP source audit, accessibility decisions, and measurements. |\n| [Product specification](docs/PRODUCT_SPEC.md) | Product scope, ontology, release gates, and acceptance requirements. |\n| [Acceptance matrix](docs/ACCEPTANCE_MATRIX.md) | Executable product, safety, portability, and recovery evidence. |\n\n## Contributing\n\nContributions are welcome. Start with [`CONTRIBUTING.md`](CONTRIBUTING.md), follow the [Code of Conduct](CODE_OF_CONDUCT.md), and report sensitive issues through [`SECURITY.md`](SECURITY.md).\n\n## License\n\nOh My Group is licensed under the [Apache License 2.0](LICENSE).\n"}