oh-my-product (OMP) is a clever TypeScript CLI tool designed to extend the Google Gemini CLI with multi-agent orchestration capabilities — all without requiring users to learn a new interface. It wraps Gemini CLI commands and uses tmux to manage multiple parallel workers, injecting slash commands directly into Gemini’s command registry to enable structured AI workflows. This approach lets teams run concurrent AI tasks with persistent state management and lifecycle controls, making multi-agent coordination feel like a natural extension rather than a complex add-on.
What oh-my-product does and its architecture
At its core, oh-my-product acts as a wrapper around Google’s Gemini CLI, which itself is a TypeScript-based command-line interface for interacting with Google’s Gemini AI models. OMP adds a tmux-powered “team mode” that enables multiple parallel workers to run AI tasks simultaneously with persistent state management. This is done without forking Gemini CLI or requiring major changes to its codebase.
OMP’s architecture is built around a few key components:
Standalone CLI (
omp): This is the main interface for setup, diagnostics, and team management. It exposes commands for running tasks with multiple workers, monitoring status, and controlling the lifecycle of AI workflows (e.g., resuming or shutting down).Slash command injection into Gemini CLI: OMP injects commands like
/omp:autopilot,/omp:plan, and/omp:reviewdirectly into Gemini CLI’s command registry. This allows users to trigger structured multi-agent AI workflows seamlessly within their existing Gemini CLI sessions.tmux integration: Using tmux, OMP manages multiple parallel worker sessions, enabling concurrent execution of tasks. This leverages tmux’s session persistence and window management to provide a robust environment for multi-agent orchestration.
State management and lifecycle controls: OMP tracks task status, supports resuming interrupted workflows, and provides shutdown commands, ensuring reliable coordination of AI agents across sessions and restarts.
Authentication and model selection: It supports free-tier access via OAuth or API keys, defaults to the
gemini-3.1-flash-lite-previewmodel, and optionally allows switching to pro models.
Under the hood, OMP retains some legacy internal identifiers to maintain compatibility but presents a clean and unified omp CLI surface to users. It is part of a broader family of tools alongside oh-my-claudecode and oh-my-codex, indicating a vision for multi-agent orchestration across AI coding assistants.
The entire stack is TypeScript running on Node.js, integrating with tmux (a terminal multiplexer) to orchestrate parallelism without reinventing concurrency within Node itself.
Technical strengths and design tradeoffs of oh-my-product
What sets OMP apart is how it retrofits multi-agent orchestration onto a single-agent CLI tool without requiring forks or extensive Gemini CLI changes. Instead of building a separate multi-agent system, it leverages the existing Gemini CLI command registry by injecting slash commands, then coordinates multiple parallel tmux workers behind the scenes.
This design has several strengths:
Zero learning curve for Gemini CLI users: Because the multi-agent commands appear as slash commands inside Gemini CLI, users do not need to learn a new tool or context switch.
Robust parallel execution via tmux: Using tmux for worker management means OMP benefits from a battle-tested terminal multiplexer with session persistence, window splitting, and process control.
Persistent state and lifecycle management: OMP tracks running tasks, supports resuming interrupted workflows, and clean shutdowns — features often missing in simpler CLI automation.
Flexible authentication and model support: Supporting OAuth and API keys out of the box with model defaults makes it accessible to a broad user base.
Clean CLI design: The standalone
ompCLI exposes useful commands likeomp doctor(for prerequisites checking),omp team run(to run tasks with multiple workers), andomp hud --watch(live status monitoring).
However, there are tradeoffs and limitations:
Dependency on tmux: While tmux is widely available and stable, it adds an external dependency that must be installed and configured correctly.
Tight coupling to Gemini CLI internals: Injecting slash commands and retaining legacy identifiers means OMP depends closely on Gemini CLI’s internal APIs, which may change and require maintenance.
Limited to terminal environments: OMP is terminal-first and not designed for GUI or web-based workflows.
Concurrency model tied to tmux windows: This approach works well but may limit finer-grained concurrency control or integration with containerized or cloud-native environments.
Overall, the codebase prioritizes practical developer experience and reliability over ambitious architectural complexity.
Quick start
The README provides a straightforward quick start to get OMP running:
npm install -g oh-my-product
omp setup --scope project
gemini
After running setup, restarting Gemini CLI will make the /omp:* commands available.
Some useful commands for managing your multi-agent workflows:
omp doctor # check prerequisites
omp team run --task "..." --workers 2 # run parallel work
omp hud --watch # live status monitoring
Requirements
- Node.js 20+
- Gemini CLI installed
- tmux installed (
brew install tmuxorapt install tmux)
This setup is minimal if you already use Gemini CLI and have tmux installed, making it easy to add multi-agent capabilities.
Verdict
oh-my-product is a pragmatic and thoughtfully engineered tool for adding multi-agent orchestration on top of Google’s Gemini CLI. Its strength lies in the clever use of tmux for parallel worker management and injecting slash commands directly into Gemini CLI to preserve a seamless user experience.
It’s particularly relevant for developers or teams who already use Gemini CLI and want to run AI workflows concurrently without adopting a completely new platform or toolchain. The zero learning curve claim holds water given the integration approach.
That said, the dependency on tmux and close coupling to Gemini CLI internals mean it may require maintenance as Gemini evolves. Also, its terminal-first design may not suit those looking for GUI-based AI orchestration.
For anyone looking to experiment with multi-agent AI workflows in a terminal environment and already invested in Gemini CLI, oh-my-product offers a practical, robust solution with a reasonable tradeoff profile.
Related Articles
- Inside Google Gemini CLI: a terminal-first AI agent with extensible Model Context Protocol — Google Gemini CLI is a TypeScript-based terminal AI agent offering direct Gemini model access, extensibility via MCP, an
- octogent: a local orchestration layer for multi-agent workflows with claude code — Octogent adds a local orchestration layer on Claude Code for multi-agent workflows using ’tentacles’ — scoped context di
- xURL: a unified CLI abstraction for multi-agent AI workflows with a custom URI scheme — xURL offers a Rust-based CLI that unifies multiple AI agent CLIs under a single agents:// URI scheme, enabling consisten
- openpaw: a modular AI assistant framework with CLI-guided setup — openpaw is a TypeScript AI assistant framework that guides you through selecting skills and interfaces via a CLI wizard.
- OpenClaude: a multi-model terminal-first coding agent CLI with practical agent routing — OpenClaude is a TypeScript CLI coding agent that routes tasks across different LLMs by type, optimizing cost and perform
→ GitHub Repo: jjongguet/oh-my-gemini ⭐ 95 · TypeScript