Skip to content

πŸ₯Š CLI Battle Royale: A real-world showdown between Gemini CLI, Claude Code, and OpenAI Codex. I test all 3 AI terminal agents on the same dev tasks to see which one reigns supreme.

Notifications You must be signed in to change notification settings

MaTriXy/cli-battle-royal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CLI Battle Royal πŸ₯ŠπŸ’»

   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—     β–ˆβ–ˆβ•—    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
  β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•”β•β•β•β•β•
  β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘      β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
  β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘      β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•”β•β•β•
  β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘      β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
   β•šβ•β•β•β•β•β•β•šβ•β•β•β•β•β•β•β•šβ•β•    β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•   β•šβ•β•      β•šβ•β•   β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•β•
                    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—
                    β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘
                    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘
                    β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘  β•šβ–ˆβ–ˆβ•”β•  β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘
                    β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
                    β•šβ•β•  β•šβ•β• β•šβ•β•β•β•β•β•    β•šβ•β•   β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•

            βš”οΈ  three models enter  β€’  one wins  βš”οΈ

Three CLIs. Three LLMs. Same inputs. No excuses.

So I took 3 different CLI tools (each backed by a different LLM) for a quick test drive to see how they behave in a real, day-to-day dev workflow.


What I Tested (Setup & Goals)

  1. Latest CLI versions + latest available models
  2. Out-of-the-box experience β€” minimal setup, minimal glue code
  3. Same exact inputs for everyone
    • identical UI image
    • identical prompt

Why I’m Doing This

I’m building my own daily setup and I like to periodically sanity-check what’s out there:

  • which tools uncover new capabilities
  • which ones introduce pitfalls
  • what I should plan for in my own workflows

This is an early, preliminary test.
I’ll keep iterating and adding branches based on:

  • audience demand
  • new tools / model releases
  • features people request

The Contenders

CLI LLM Link
Claude Code Claude (Anthropic) anthropics/claude-code
Codex CLI GPT-X-Codex (OpenAI) openai/codex
Gemini CLI Gemini (Google) google-gemini/gemini-cli

Battles

# Battle Description Code Video
001 React Native UI Build a mobile app from a UI screenshot View Coming Soon

How to Navigate

cli-battle-royal/
β”œβ”€β”€ README.md           # You are here
└── battles/
    └── 001-react-native-ui/
        β”œβ”€β”€ README.md   # Battle details
        β”œβ”€β”€ input/      # What each CLI was given
        β”œβ”€β”€ artifacts/  # Screenshots of results
        β”œβ”€β”€ claude/     # Claude Code output
        β”œβ”€β”€ codex/      # Codex CLI output
        └── gemini/     # Gemini CLI output

License / Usage

All code in this repo is free to use for non-commercial purposes, as long as you give acknowledgment:

Credit required:

  • Yossi Elkrief
  • GitHub: MaTriXy (mention/profile link)

Commercial usage:
If you want to use any of this commercially (directly or inside a commercial product), please sponsor my GitHub first.

βœ… Non-commercial use: allowed with attribution
πŸ’Ό Commercial use: requires sponsorship + attribution


Attribution Example

If you’re using code from this repo, include something like:

β€œBased on CLI Battle Royale by Yossi Elkrief (GitHub: MaTriXy).”


Author

Built by Yossi Elkrief β€” GitHub: MaTriXy

About

πŸ₯Š CLI Battle Royale: A real-world showdown between Gemini CLI, Claude Code, and OpenAI Codex. I test all 3 AI terminal agents on the same dev tasks to see which one reigns supreme.

Topics

Resources

Stars

Watchers

Forks