DEPRECATED — This repository has been consolidated into mdo-nexus-ooda. No further updates here.
╔═══════════════════════════════════════════════╗
║ ║
║ M D O C O M M A N D C E N T E R ║
║ ║
║ Multi-Domain Operations ║
║ AI Agent Orchestration Hub ║
║ ║
╚═══════════════════════════════════════════════╝
A terminal-native command center that orchestrates multiple AI agents
through OODA Loop decision cycles and Multi-Domain Operations doctrine.
Quick Start · Architecture · Adapters · Commands · OODA Engine
Route the right model to the right task at the right tempo.
MDO Command Center applies military decision-making frameworks to AI agent orchestration. The OODA Loop (Observe-Orient-Decide-Act) drives automatic model selection, while Multi-Domain Operations partitions tasks across five operational domains. Zero external dependencies. Pure Node.js. Runs anywhere.
# install globally
git clone https://github.com/hugefisco94/mdo-command-center.git
cd mdo-command-center
npm link
# launch interactive command center
mdo
# single-shot execution
mdo exec "refactor the auth module"
# multi-model parallel fan-out
mdo swarm "analyze this architecture" ┌─────────────────────────────────────────────────────────────┐
│ U I L A Y E R │
│ repl.js · display.js · report-ko.js │
├─────────────────────────────────────────────────────────────┤
│ O R C H E S T R A T O R │
│ dispatcher.js · swarm.js │
├─────────────────────────────────────────────────────────────┤
│ A D A P T E R S │
│ codex · gemini · opencode · elice · harness │
├─────────────────────────────────────────────────────────────┤
│ C O R E D O M A I N │
│ ooda-engine · mdo-domains · mission │
└─────────────────────────────────────────────────────────────┘
▲ dependencies flow inward — zero I/O in core
Four layers. Clean Architecture. Dependencies point inward only. The core domain contains pure logic with no I/O — portable, testable, deterministic.
mdo-command-center/
├── bin/mdo.js # CLI entry point
├── src/
│ ├── config.js # Environment & routing config
│ ├── core/ # Domain logic (innermost)
│ │ ├── ooda-engine.js # OODA state machine
│ │ ├── mdo-domains.js # 5-domain keyword resolver
│ │ └── mission.js # Mission lifecycle tracker
│ ├── adapters/ # External interfaces (ports)
│ │ ├── base-adapter.js # Abstract adapter contract
│ │ ├── codex.js # OpenAI Codex CLI
│ │ ├── gemini.js # Google Gemini CLI
│ │ ├── opencode.js # OpenCode CLI
│ │ ├── elice.js # Elice Cloud LiteLLM
│ │ ├── harness.js # Harness.io Pipeline API
│ │ └── index.js # Adapter factory
│ ├── orchestrator/ # Use-case coordination
│ │ ├── dispatcher.js # OODA-phase routing
│ │ └── swarm.js # Multi-model fan-out
│ └── ui/ # Terminal interface (outermost)
│ ├── repl.js # Interactive REPL
│ ├── display.js # ANSI rendering
│ └── report-ko.js # Korean ops report
└── test/run.js # 37 unit tests
The decision loop that drives every dispatch.
┌──────────┐
│ OBSERVE │ ◄─── Gather context, scan input
└────┬─────┘ Default: Gemini (1M context)
│
┌────▼─────┐
│ ORIENT │ ◄─── Analyze, pattern-match
└────┬─────┘ Default: Codex (code analysis)
│
┌────▼─────┐
│ DECIDE │ ◄─── Plan, architect
└────┬─────┘ Default: OpenCode (planning)
│
┌────▼─────┐
│ ACT │ ◄─── Execute, generate, deploy
└────┬─────┘ Default: Codex (code generation)
│
└──────────► cycle++
Three operational tempos: strategic · operational · tactical
Each phase auto-selects the optimal adapter. Override anytime with use <adapter> or phase <name>.
Five adapters. Three local CLIs, one cloud proxy, one CI/CD pipeline.
| Adapter | Engine | Invocation | Strength |
|---|---|---|---|
| Codex | gpt-5.3-codex | codex exec "prompt" |
Code generation, review |
| Gemini | gemini-3 | gemini -p "prompt" |
Large-context analysis |
| OpenCode | opencode-cli | opencode run "prompt" |
Architecture, planning |
| Elice | LiteLLM proxy | HTTP /v1/chat/completions |
Cloud-scale inference |
| Harness | Pipeline API | REST + PAT auth | CI/CD automation |
Fan out a single prompt to multiple models simultaneously via Elice Cloud LiteLLM.
┌─── gemini-flash ───┐
├─── deepseek-v3 ───┤
prompt ──► SWARM ────┼─── qwen3-coder ───┼──► aggregate
├─── claude-haiku ───┤
└─── deepseek-r1 ───┘
Three tiers: t1_fast (3-10s) · t2_power (5-15s) · t3_deep (15-30s)
Five operational domains with bilingual keyword detection.
┌──────────────┬──────────────┬──────────────┬──────────────┬──────────────┐
│ CODE │ ORCH │ DATA │ INFRA │ INTEL │
│ │ │ │ │ │
│ refactor │ deploy │ analyze │ server │ security │
│ test │ pipeline │ document │ docker │ recon │
│ debug │ ci/cd │ research │ kubernetes │ audit │
│ 코드 │ 배포 │ 데이터 │ 인프라 │ 보안 │
│ 리팩토링 │ 파이프라인 │ 분석 │ 서버 │ 정찰 │
├──────────────┴──────────────┴──────────────┴──────────────┴──────────────┤
│ keyword resolver (EN + KR) │
└─────────────────────────────────────────────────────────────────────────┘
mdo # launch command center| Command | Description |
|---|---|
<any text> |
Dispatch to AI via OODA-routed adapter |
status |
Display OODA state, domains, adapter health |
probe |
Check all adapter availability |
advance |
Step OODA to next phase |
phase <name> |
Force OODA phase |
tempo <level> |
Set operational tempo |
use <adapter> <msg> |
Direct adapter invocation |
swarm <msg> |
Multi-model parallel dispatch |
mission create <intent> |
Create tracked mission |
mission list |
List active missions |
deploy |
Trigger Harness pipeline |
report |
Generate Korean ops report |
mdo exec "review this codebase for security issues"
mdo swarm "compare three approaches to state management"
mdo status
mdo deployCreate .env in the project root for sensitive values:
HARNESS_PAT=pat.xxxxx
HARNESS_ACCOUNT=your_account_id
ELICE_URL=http://localhost:8100
ELICE_KEY=sk-elice-litellm-keyAdapter binaries are auto-detected from PATH. Override in src/config.js if needed.
CLEAN ARCHITECTURE OODA LOOP HARNESS ENGINEERING
───────────────── ───────── ────────────────────
· Inward dependency · Tempo-driven · Pipeline as Code
· Port/Adapter pattern · Phase-aware routing · Automated triggers
· Pure domain core · Cycle counting · Execution tracking
· Zero I/O in core · Auto-advance · Continuous delivery
- Zero external dependencies — stdlib only, audit-friendly, portable
- Bilingual keyword detection — English and Korean domain resolution
- Graceful degradation — adapters fail independently with fallback chains
- Operational telemetry — call counts, error rates, latency tracking per adapter
37/37 unit tests passing
5/5 adapters operational
4/4 live model responses confirmed
0 external dependencies
┌─────────────────────────────────────────────┐
│ │
│ observe → orient → decide → act │
│ │
│ the loop never stops. │
│ │
└─────────────────────────────────────────────┘
Built with discipline. Operated with tempo.