Multi-CLI Intelligent Collaboration System
Meta-CLI Β· Agentic Execution Fabric Β· AI Orchestrator
English Β· δΈζ Β· Roadmap Β· Contributing Β· Security
CLISYS is not another AI CLI tool. It is a Meta-CLI Orchestrator β a coordination layer that makes multiple AI-powered CLI tools work together as one cohesive system.
Think of it as a conductor for an orchestra of AI assistants: each tool plays to its strengths while CLISYS routes tasks, aggregates results, and iterates toward a solution.
User Request β CLISYS Orchestrator
β
ββββββββββββββΌβββββββββββββ
β β β
βββββββββββ βββββββββββ βββββββββββ
β Claude β β Codex β β Gemini β β¦ more
β Code β β CLI β β CLI β
βββββββββββ βββββββββββ βββββββββββ
β β β
ββββββββββββββ΄βββββββββββββ
β
β
Collaborative Result
Inspired by Oh My OpenAgent (formerly Oh My OpenCode) β the idea that the AI CLI ecosystem deserves the same composability as shell environments like oh-my-zsh.
- Features
- Quick Start
- Architecture
- Supported Adapters
- Loop Mechanisms
- Configuration
- Development Roadmap
- Technical Stack
- Inspirations & Credits
- Contributing
- License
- Community
| Feature | Description |
|---|---|
| π― Multi-CLI Orchestration | Coordinate Claude Code, Codex CLI, Gemini CLI, and more |
| π§ Intelligent Task Dispatch | Capability-based, cost-aware, and performance-based routing |
| π Loop Mechanisms | Ralph Loop (self-refinement) and Ultrawork Loop (parallel execution) |
| π Result Aggregation | Merge, vote, or select-best from multiple adapter outputs |
| βοΈ Flexible Configuration | TOML-based config with Zod validation and multi-level override |
| πΎ Session Persistence | SQLite + Drizzle ORM for execution history and session state |
| π Plugin-First Adapter System | Built-in adapters plus plugin discovery, manifests, provider backends, toolchain gating, and maintenance workflows |
| ποΈ Event-Driven Core | EventBus for monitoring, debugging, and hook integration |
- Bun β₯ 1.0 or Node.js β₯ 20
- At least one supported AI CLI tool installed (e.g.
claude,codex,gemini)
# Clone the repository
git clone https://github.com/XucroYuri/CLISYS.git
cd CLISYS
# Install dependencies
bun install
# (Optional) Run tests to verify the installation
bun test# Show all available commands
bun run src/cli/index.ts --help
# List available adapters and their status
bun run src/cli/index.ts adapters
# Execute a task (auto-routes to best adapter)
bun run src/cli/index.ts run "Create a REST API with JWT authentication"
# Target a specific adapter
bun run src/cli/index.ts run "Review this code for security issues" --adapter claude-code
# Run in parallel across all adapters
bun run src/cli/index.ts run "Refactor this module" --parallel
# Use iterative refinement (Ralph Loop)
bun run src/cli/index.ts run "Write comprehensive tests" --loop ralph --max-iterations 3clisys/
βββ src/
β βββ core/
β β βββ orchestrator/ # TaskParser, Dispatcher, Aggregator, LoopManager
β β βββ adapter/ # BaseAdapter, AdapterRegistry
β β βββ plugins/ # Manifest schema, loader, discovery, SDK
β β βββ providers/ # brew/npm/pipx/cargo/binary provider backends
β β βββ toolchain/ # Policy gate, state, locks, manager, audit, maintenance
β β βββ bus/ # EventBus
β β βββ config/ # Configuration loader & validator
β β βββ logger/ # Pino-based structured logging
β β βββ storage/ # SQLite session & execution history
β βββ adapters/
β β βββ claude-code/ # Claude Code adapter
β β βββ codex/ # OpenAI Codex CLI adapter
β β βββ gemini/ # Google Gemini CLI adapter
β βββ loops/
β β βββ ralph.ts # Self-referential iterative loop
β β βββ ultrawork.ts # Parallel multi-adapter loop
β βββ cli/
β βββ commands/ # run, adapters, config commands
β βββ index.ts # CLI entry point (Clipanion)
βββ tests/ # Vitest test suite (147 tests)
βββ docs/
β βββ design/ # Architecture & design documents
β βββ roadmap.md # Development roadmap
βββ config/
βββ default.toml # Default configuration
User Prompt
β
βΌ
βββββββββββββββ
β CLI Layer β Clipanion command routing
βββββββββββββββ
β
βΌ
βββββββββββββββ
β TaskParser β Intent extraction, capability requirements
βββββββββββββββ
β
βΌ
βββββββββββββββ
β Dispatcher β Strategy: capability / cost / performance / round-robin
βββββββββββββββ βββ AdapterRegistry (health checks, capability scoring)
β
βΌ
βββββββββββββββ
β Adapters β Subprocess execution, output capture
βββββββββββββββ
β
βΌ
βββββββββββββββ
β Aggregator β Strategy: best_result / merge / vote
βββββββββββββββ
β
βΌ
Result
| Adapter | Status | CLI Tool | Notes |
|---|---|---|---|
claude-code |
β Stable | Claude Code | Anthropic's coding assistant |
codex |
β Stable | Codex CLI | OpenAI's CLI coding agent |
gemini |
β Available | Gemini CLI | Google's CLI AI tool |
openagent |
π² Planned | Oh My OpenAgent | Composable agent framework |
aider |
π² Planned | Aider | Git-aware coding assistant |
Adding a new adapter now supports a plugin-first path: publish a @clisys/adapter-* package with a validated manifest, dynamic entrypoint, and provider-backed toolchain metadata, or continue using built-in adapters where appropriate. See docs/design/architecture.md and CONTRIBUTING.md for details.
Iterates on a task until a completion criterion is met or the maximum iteration limit is reached. Ideal for tasks requiring refinement cycles (e.g., test β fix β test).
ββββββββββββββββββββββββββββββββββββββββ
β ββββββββ βββββββββββ βββββββββ β
β β Task ββββΆβ Execute ββββΆβ Check β β
β ββββββββ βββββββββββ βββββββββ β
β β² β β
β ββββββββββββββββββββββββββ β
β (iterate if incomplete) β
ββββββββββββββββββββββββββββββββββββββββ
Dispatches the same task to multiple adapters concurrently, then aggregates or selects the best result. Ideal for validation, diverse perspectives, and redundancy.
ββββββββ
β Task β
ββββββββ
β
ββββββββββββΌβββββββββββ
βΌ βΌ βΌ
βββββββββ βββββββββ βββββββββ
βAdapterβ βAdapterβ βAdapterβ
β 1 β β 2 β β 3 β
βββββββββ βββββββββ βββββββββ
β β β
ββββββββββββ΄βββββββββββ
βΌ
ββββββββββββ
β Aggregateβ
ββββββββββββ
β
βΌ
ββββββββ
βResultβ
ββββββββ
CLISYS uses a layered TOML configuration system:
- Built-in defaults (
config/default.toml) - User-level config (
~/.clisys/config.toml) - Project-level config (
.clisys/config.tomlin your project)
version = "1.0"
[adapters.claude-code]
enabled = true
command = "claude"
[adapters.codex]
enabled = true
command = "codex"
[adapters.gemini]
enabled = true
command = "gemini"
[plugins]
directories = ["./plugins"]
[orchestrator]
default_strategy = "capability_based" # capability_based | cost_based | performance | round_robin
max_parallel_tasks = 3
task_timeout = 300000 # ms
[logging]
level = "info" # debug | info | warn | error
output = "console" # console | fileSee docs/roadmap.md for the full technical roadmap. Summary:
| Phase | Version | Focus |
|---|---|---|
| Phase 1 β | v0.1.0 | MVP β core orchestration, three built-in adapters, loops, storage |
| Phase 2 π | v0.2.x | Extended adapters (OpenAgent, Aider) |
| Phase 3 π | v0.3.x | Plugin architecture, streaming output, score caching |
| Phase 4 π | v0.5.x | Enterprise features: permissions, sandbox, audit log |
| Phase 5 π | v1.0.0 | Public release, SDK, community ecosystem |
| Component | Technology | Why |
|---|---|---|
| Runtime | Bun / Node.js 20+ | Near-native performance, excellent TypeScript support |
| Language | TypeScript 5 (strict) | Type safety across all components, great AI tooling integration |
| CLI Framework | Clipanion | Type-safe command handling with decorators |
| Validation | Zod | Schema validation for config and adapter contracts |
| Logging | Pino | Fast, structured JSON logging |
| Testing | Vitest | Blazing fast unit tests, native ESM support |
| Storage | Drizzle ORM + SQLite | Type-safe ORM, zero-dependency SQLite |
| Config | TOML via @iarna/toml |
Human-friendly, widely used in CLI tools |
CLISYS builds on the shoulders of giants. The following projects directly inspired its design or are used as foundational dependencies:
| Project | Contribution |
|---|---|
| Oh My OpenAgent (formerly Oh My OpenCode) | The core idea: composable AI CLI orchestration, the "oh-my-zsh for AI agents" concept |
| oh-my-zsh | Plugin/adapter ecosystem model |
| LangChain | Agent chaining and tool-use patterns |
| AutoGPT | Self-referential looping and autonomous task execution |
| CrewAI | Multi-agent role-based collaboration |
| Tool | Repository | Notes |
|---|---|---|
| Claude Code | Anthropic docs | Primary adapter |
| Codex CLI | openai/codex | Primary adapter |
| Gemini CLI | google-gemini/gemini-cli | Available |
| Aider | paul-gauthier/aider | Planned |
| Oh My OpenAgent | openagentlabs/oh-my-openagent | Planned |
| Package | Repository | Purpose |
|---|---|---|
| clipanion | arcanis/clipanion | Type-safe CLI framework |
| zod | colinhacks/zod | Schema validation |
| pino | pinojs/pino | Structured logging |
| drizzle-orm | drizzle-team/drizzle-orm | Type-safe SQLite ORM |
| @iarna/toml | iarna/iarna-toml | TOML parsing |
| vitest | vitest-dev/vitest | Test framework |
| bun | oven-sh/bun | JS/TS runtime |
CLISYS cannot be maintained by one person alone. Contributions β code, documentation, adapters, ideas β are very welcome.
This project explicitly invites experienced developers to join as long-term maintainers. If you are interested in taking on a stewardship role, please open an issue or reach out directly.
See CONTRIBUTING.md for:
- Development setup
- Code style guidelines
- How to add a new adapter
- Pull request process
- Maintainer responsibilities
See CODE_OF_CONDUCT.md for community standards.
CLISYS is released under the MIT License. See LICENSE for full text.
MIT allows unrestricted use, including commercial use. This is intentional for v0.x to encourage adoption and ecosystem growth.
As the project matures toward v1.0, the maintainers may evaluate a dual-licensing model (MIT for individual/open-source use, commercial licence for enterprise deployments). Any such change would apply only to future versions and would be discussed openly with the community before being adopted.
- Issues & Feature Requests: GitHub Issues
- Discussions: GitHub Discussions
- Security: See SECURITY.md for responsible disclosure
| Metric | Status |
|---|---|
| Build | β Passing |
| Tests | β 75/75 passing |
| TypeScript | β Strict mode, 0 errors |
| Version | 0.1.0 (MVP) |
| Stability | Beta β API may change before v1.0 |
Built with β€οΈ for the AI-assisted development future.
If CLISYS has been useful to you, please consider starring β the repository β it helps others find the project.