AI Foundry

Igor

Incremental AI worker that chips away at large projects

ready
beginnerci-cdgithub-actionsclaudeautomationincremental
Quick Install
Run one command in your project directory. The script walks you through each step interactively.

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
What the installer does
Exactly what happens when you run the install command, step by step. Nothing hidden. Read the full source on GitHub.
  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 from upstream

    Downloads claude-incremental.yml directly from the original author (dimagi/open-chat-studio) and places it at .github/workflows/claude-incremental.yml. This keeps the workflow up to date with upstream improvements.

  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.

What this rig 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.

How to verify it works
Follow these steps after installation to confirm the rig is working as designed.
  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.

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.

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

Step-by-Step Setup

1

Run the one-command installer

Open a terminal in your project directory and run the install command for your platform. The installer walks you through each step interactively.

# 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
2

Commit and push

Commit the workflow file and issue template, then push to your main branch.

git add .github/
git commit -m "Add Igor incremental worker"
git push
3

Create a tracking issue

Create a GitHub issue with the 'claude-incremental' label using the checklist format. Igor picks up the first unchecked task and opens a PR. It runs daily at 2am UTC, or you can trigger it manually from the Actions tab.

Prerequisites
What you need before setup

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

Get it here

GitHub CLI (gh)

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

Get it here
Files
Included in this rig -- click to view source
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 (from dimagi/open-chat-studio)

upstream -- downloaded at install time

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

Package
Install from any public GitHub repo hosting this rig

Path

rigs/igor

Branch

main