AI Foundry

Igor

Incremental AI worker that chips away at large projects

CI/CDgithub-actionsclaudeautomationincrementaljjacksonby jjackson
Quick Install
Run one command in your project directory.

PowerShell (Windows)

irm https://raw.githubusercontent.com/marshellis/ai-foundry/main/rigs/igor/install.ps1 | iex

Bash (macOS / Linux)

curl -fsSL https://raw.githubusercontent.com/marshellis/ai-foundry/main/rigs/igor/install.sh | bash

About

A GitHub Action that automatically makes incremental progress on large projects by working through tracking issues with task checklists. Create a tracking issue with a checklist, and Igor picks up the next unchecked task each day -- reading context, implementing the change, and opening a PR.

What It Does

Once installed, Igor monitors your GitHub repository for issues labeled 'claude-incremental'. Each issue should contain a checklist of tasks. Every day at 2 AM UTC (or when triggered manually), Igor picks the next unchecked task, reads your codebase for context, implements the change on a new branch, opens a pull request, and checks off the task. You review and merge the PR like any other contribution. Over time, Igor chips away at large projects one task at a time.

Use Cases

  • Migrate JS files to ES modules
  • Add TypeScript types across a codebase
  • Refactor a large module piece by piece
  • Any project that can be broken into independent tasks

What the Installer Does

For transparency, here is exactly what the installer does:

  1. 1

    Check prerequisites

    Verifies that git and the GitHub CLI (gh) are installed and that you are authenticated with gh.

  2. 2

    Detect target repository

    Reads your git remote to detect the GitHub repo, or prompts you to enter one. Verifies the repo exists and is accessible.

  3. 3

    Download workflow file

    Downloads claude-incremental.yml from ai-foundry (generic for Node/JS/TS projects) and places it at .github/workflows/claude-incremental.yml.

  4. 4

    Install issue template

    Asks where to install the issue template. Option 1 (recommended): .github/ISSUE_TEMPLATE/ so it appears in GitHub's 'New Issue' picker. Option 2: .igor/ as a local reference copy. Option 3: skip.

  5. 5

    Set ANTHROPIC_API_KEY secret

    Prompts for your Anthropic API key and stores it as a GitHub Actions secret using the gh CLI. You can skip this and set it manually later. The key is sent directly to GitHub -- it is not stored locally.

  6. 6

    Create 'claude-incremental' label

    Creates a GitHub label called 'claude-incremental' on your repo. Igor uses this label to find tracking issues to work on.

  7. 7

    Configure Actions permissions

    Uses the GitHub API to set workflow permissions to read-write and allow GitHub Actions to create pull requests. This is required for Igor to push branches and open PRs.

  8. 8

    Optionally create a sample issue

    Asks if you want to create a sample tracking issue with the correct format so you can see how Igor works right away.

Verifying It Works

After installation, follow these steps to confirm everything is working:

  1. 1

    Go to your repo's Actions tab on GitHub and confirm the 'Igor' workflow is listed

    Expected: You should see 'Igor' (or 'claude-incremental') in the left sidebar of the Actions page. If it does not appear, make sure you committed and pushed the workflow file.

  2. 2

    Create a test issue with the 'claude-incremental' label and a simple one-item checklist

    Expected: The issue should appear in your repo with the label. Use the format: '- [ ] Add a comment to the top of README.md' as a simple test task.

  3. 3

    Trigger the workflow manually: Actions > Igor > Run workflow

    Expected: The workflow run should appear in the Actions tab. Click into it to watch the logs in real time.

  4. 4

    Wait for the workflow to complete and check for a new pull request

    Expected: Igor should create a new branch, push a commit implementing the task, and open a pull request. The checklist item in the tracking issue should be checked off automatically.

  5. 5

    Review the pull request

    Expected: The PR should contain a focused change matching the task description. If everything looks good, merge it. Igor will pick up the next unchecked task on the next run.

Based On
This is a derivative of Open Chat Studio's Igor by Dimagi. AI Foundry adapts the workflow for generic Node/JS/TS projects and maintains it here. The original design and documentation are at Open Chat Studio.
Prerequisites
What you need before installing

GitHub Repository

A public or private GitHub repo where you want Igor to work

Anthropic API Key

An API key from Anthropic for Claude access

GitHub CLI (gh)

Used by the installer to configure secrets, labels, and permissions

Source
View the rig on GitHub

Path

rigs/igor

Branch

main

Install Scripts
View source before running
Files
What gets installed

install.ps1

One-command installer for Windows (PowerShell)

install.sh

One-command installer for macOS/Linux (Bash)

claude-incremental.yml

The GitHub Actions workflow that powers Igor (generic for Node/JS/TS, maintained by ai-foundry)

Installs to: .github/workflows/claude-incremental.yml

igor-tracking-issue.yml

GitHub issue template that appears in the 'New Issue' picker (recommended)

Installs to: .github/ISSUE_TEMPLATE/igor-tracking-issue.yml

issue-template.md

Plain markdown reference template (alternative to GitHub issue template)

Installs to: .igor/issue-template.md

View on GitHub