Skip to content

Add runner abstraction for Cursor, Copilot, and other AI coding tools #32

@that-github-user

Description

@that-github-user

Summary

Currently only Claude Code is supported as a runner. CONTRIBUTING.md mentions "New runners — add support for Cursor, Copilot, or other AI coding tools" but there's no abstraction to make this easy.

Proposed design

Runner interface

interface AgentRunner {
  name: string;
  available(): Promise<boolean>;  // Is this tool installed?
  run(prompt: string, worktree: string, opts: RunnerOpts): Promise<AgentResult>;
}

Runners to support

  1. Claude Code (existing) — via claude -p
  2. Aider — via aider --message (open source, popular)
  3. Manual — user runs their tool of choice, thinktank just manages worktrees + tests
  4. Cursor — via CLI if available
  5. Copilot CLI — via gh copilot if available

Cross-tool ensemble

The ultimate value: run the SAME task across DIFFERENT tools and compare. This is the use case no benchmark can replicate — because it's YOUR codebase, YOUR task.

thinktank run "fix the auth bug" --runners claude-code,aider,manual

Acceptance criteria

  • Runner interface defined
  • Claude Code runner refactored to implement interface
  • Manual runner implemented (manages worktree, user runs their tool)
  • At least one additional automated runner (aider recommended — open source)
  • --runner flag on CLI

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions