Battle of the Bots:

Which AI Assistant Delivers?

Calvin Hendryx-Parker, CTO

Six Feet Up

AI Coding Assistants

The New Pair-Programming Partners

Rapid Evolution over the last year:

More than 97% of respondents reported having used AI coding tools at work

2024 Github AI in Software Survey

Why This Matters

  • AI coding assistants are transforming how we build software
  • Choosing the right tool can mean the difference between frustration and flow
  • Let’s find out which one delivers for real-world developers!

The Contenders

  • Aider
  • Claude Code
  • Cursor
  • Goose
  • Junie
  • OpenAI Codex

What is an AI Agent?

  • Perceives environment via tools/APIs
  • Plans and decides autonomously
  • Takes actions toward goals (edit code, run tests, call tools)
  • Maintains context/memory within a session
  • Learns from feedback and iterates
  • Chains multi‑step operations

What is MCP?

MCP Examples

In practice

  • Connect your AI assistant to AWS MCP servers
  • Ask natural language questions about AWS services
  • Get contextually accurate answers based on latest documentation
  • Generate AWS CLI commands, CloudFormation templates, or IAM policies
  • Troubleshoot AWS-specific issues with current best practices

Tool introduction: Aider

  • Developed by Paul Gauthier
  • Open-source (GitHub: paul-gauthier/aider)
  • Supports multiple LLM models (OpenAI, Claude, Llama, BYOM)
  • Semi-agentic with git integration
  • No MCP support currently
  • Supports /voice interactions
  • Use Multiple Models in the same session

What’s New in Aider

  • Models: GPT‑5, Claude 4, Gemini 2.5, Grok‑4, DeepSeek; o1/o3/o4‑mini
  • Reasoning: /think‑tokens; /reasoning‑effort
  • UX/CLI: /context; /editor (/edit); shell comps; notifications
  • Git: Conventional Commits; Co‑authored‑by; --commit‑language; clearer /undo
  • Repo: 130+ langs; better identifier ranking; repo‑map expands coverage
  • Watcher/Web: sturdier file watcher; optional Playwright scrape

Tool introduction: Claude Code

  • Developed by Anthropic
  • Proprietary model and tooling
  • Uses Claude models: Sonnet 4.5, Opus 4.1, Haiku 4.5
  • Fully agentic with planning, tools, and subagents
  • Supports MCP (Model Context Protocol) since its inception
  • Ships as a terminal app and a native VS Code extension

What’s New in Claude Code

  • Models: Sonnet 4.5 (default); Opus 4.1; Haiku 4.5
  • CLI/VS Code: Native extension; smoother terminal; transcript shows model; /export
  • Commands: /rewind; /usage; thinking toggle; Ctrl‑R history
  • Plugins/Skills: Install/enable/marketplace; /doctor; Claude Skills
  • Bash/Sandbox: Background commands; tab completion; BashTool sandbox (macOS/Linux)
  • Hooks/MCP: Hooks events; @‑mentions; multi‑config; OAuth discovery

Tool introduction: Cursor

  • Developed by Anysphere Inc. (independent company)
  • Proprietary editor with open-source components
  • Supports OpenAI, Anthropic, and Google models
  • Fully agentic with project navigation
  • Supports MCP

What’s New in Cursor

  • Background Agents: Continuous VMs; GitHub/IAM; dashboards
  • Modes: Agent; Ask; Plan; Custom (reviewable plans)
  • Rules: .cursor/rules; AGENTS.md; /Generate Cursor Rules
  • Headless/CI: Headless CLI; GitHub Actions
  • MCP: Client + Extension API; directory/install
  • Browser/Enterprise: Built‑in browser; Admin API; Analytics; SSO/SCIM; spend controls

Tool introduction: Goose

  • Developed by Block Inc. (formerly Square)
  • Open-source (GitHub: block/goose)
  • Supports multiple LLM models (OpenAI, Claude, Ollama)
  • Fully agentic with integrated tooling
  • Supports MCP
  • Supports OpenRouter! (https://openrouter.ai)

What’s New in Goose

  • Recipes: Repeatable workflows; cookbook generator
  • Subagents/Subrecipes: Parallel delegation (experimental)
  • MCP‑UI: Intent‑based UIs; auto visualizer (early)
  • Containers: Isolated envs via Dagger/container MCP
  • Multi‑model: Lead/Worker orchestration; per‑task routing
  • Providers/ACP: OpenRouter; Tetrate Agent Router; ACP editor integration

Tool introduction: Junie

  • Developed by JetBrains
  • Requires a JetBrains IDE + JetBrains AI plan (AI Pro/Ultimate); EAP plugin on Marketplace
  • Models: GPT-5 default; Claude also supported
  • Fully agentic with project navigation

What’s New in Junie

  • Status: Public EAP (Marketplace)
  • Models: GPT‑5 default; Claude supported
  • MCP: In‑IDE support
  • Remote Dev: macOS, Linux (Windows TBD)
  • GitHub EAP: Async multi‑tasking (JVM/PHP)
  • Perf/UX: ~30% faster; transparent plan/log; Ask; Brave; guidelines file

Tool introduction: OpenAI Codex

  • Developed by OpenAI
  • Two parts: open-source CLI (Rust) + IDE extensions (VS Code, Cursor, Windsurf)
  • Runs locally and can read/modify/run code in your repo
  • Supports MCP via Agents SDK; can be exposed as an MCP server
  • Works on macOS/Linux; Windows via WSL2

What’s New: OpenAI Codex

  • CLI: TUI agent; open‑source at openai/codex
  • Models: GPT‑5‑Codex; /model or --model
  • Approvals: Auto; Read Only; Full Access
  • Exec: codex exec "task..." (non‑interactive)
  • Images: --image path/to/file.png
  • Cloud/SDK: Delegate to cloud; Agents SDK; MCP guide

Tool Comparison

Tool Open MCP Agentic Models Supported
Aider Yes No Semi Bring your own
Claude Code No Yes Full Claude Models
Cursor No Yes Full GPT-5, Claude, Gemini
Goose Yes Yes Full Bring your own
Junie No Yes Full Claude 4.5 + GPT-5
Codex Yes Yes Full GPT-5-Codex

Agentic Coding Models

Developer Productivity AI Arena

DEMO: The Prompt

This project was bootstrapped with scaf and has a NextJS frontend in the frontend dir and a Django backend in the backend dir.

The scaf template only supports a GraphQL API. Refactor the app to use a REST API.

DEMO: Aider

  • Specify conventions in CONVENTIONS.md
  • Use different models for architect and edit mode simultaneously
  • Use external editor with /editor
  • Run commands and add to output with /run
  • Show cost with /tokens
  • Clear context with /clear
  • Start with --lint-cmd and --test-cmd --auto-test to run your test suite after each change

DEMO: Claude Code

  • Allow tools (e.g.): claude config add allowedTools "Bash(git:*),Bash(cat:*),Bash(grep:*)"
  • Specify conventions in CLAUDE.md (or via Skills/Hooks)
  • Doesn’t use git to commit changes. TIP: Ask it to “Review the staged changes with git diff --staged and git commit using conventional commit standard”
  • Show usage with /usage
  • Rewind, compact, and clear context with /rewind, /compact, and /clear

DEMO: Cursor

  • Define project rules in .cursor/rules (version-controlled)
  • Use AGENTS.md at the root or subdirectories for simple instructions
  • Generate rules in chat with /Generate Cursor Rules
  • Switch modes as needed: Agent, Ask, Plan (Shift+Tab), Custom

::: notes - Define project rules in .cursor/rules (version-controlled) - Use AGENTS.md at the root or subdirectories for simple instructions - Generate rules in chat with /Generate Cursor Rules - Switch modes as needed: Agent, Ask, Plan (Shift+Tab), Custom

DEMO: Junie

  • Put project rules in .junie/guidelines.md
  • Modes: Agent (default) and Ask
  • Approvals: Brave Mode or Action Allowlist (regex)
  • Exclude with .aiignore when needed

DEMO: OpenAI Codex

  • Start in your repo with the TUI: codex
  • Choose approval mode: Auto (default) | Read Only | Full Access
  • Switch models as needed: /model or --model gpt-5-codex
  • Run one-off tasks non-interactively: codex exec "task…"
  • Include screenshots/diagrams as input: --image path/to/file.png
  • Tip: stage and review diffs (git add -p + git diff --staged) before committing

Key Takeaways

  • No single assistant is best for every workflow
  • MCP is enabling richer, more context-aware coding
  • Open source tools are catching up fast
  • Try several and see what fits your style!

Talk To Me

📩
🤝 https://linkedin.com/in/calvinhp
🦋 @calvinhp.com