← All updates
Launch Jun 9, 2026 3 min read

Introducing Millwright, a loop-based orchestrator for async agents

Say hello to Millwright — a free, open source orchestration layer that lets async agents take care of development tasks in the background, on infrastructure you own.

Introducing Millwright, a loop-based orchestrator for async agents

Say hello to your newest team member, Millwright. Millwright takes care of development tasks in the background, while your team focuses on the highest value work.

It’s free, open source and available now: github.com/njcameron/Millwright.

Millwright uses the tools you already have (GitHub, GitLab, Linear, Slack, Discord, Telegram), on infrastructure you own (DO, AWS, Hetzner), independent of any one developer, across all your projects.

The technical bit

Millwright is a loop-based orchestration layer for async agents (e.g. Claude Code). It’s lightweight, written in Ruby and runs on any VPS. Out of the box it supports GitHub issues, GitHub repos, Claude Code and Slack. It’s fully extensible through different adaptors for tickets, code, agent and notifications.

How it works

Millwright has two ways of working.

  1. Continuous development. A backlog is checked for tickets that are ready to work on. If required, it will create a plan, post it to the issue, and then refine that plan based on comments. Once development is complete, Millwright creates a PR and then responds to any comments, fixing the code when required.
  2. Routines. Out of the box, it ships with two routines: a weekly security scan of specified repos which checks for broken access control, auth gaps, hardcoded secrets, security config and more; and a weekly product digest for each repo that creates a customer / stakeholder ready update of everything that was shipped in the past week.

How I’ve been using Millwright

I typically find myself working across multiple repos: ResponseHub, the RH Chrome extension, the RH marketing site, Pentest.fyi, my personal site, and Millwright itself. Millwright is set up to work on all of these.

The roadmap

There are three improvements I’d like to see.

  1. The first is providing more support for coding agents. Right now it relies on a Claude subscription. Ideally I’d like to see it working with an open source harness like OpenCode or Pi.
  2. This opens the door for the second improvement: task-based model routing. The era of tokenmaxxing is over and we’re about to enter the era of tokenthrifting. Millwright could enable this by routing complex tasks to frontier models and simpler tasks to cheap, open source models.
  3. Lastly, Millwright is currently set up for my own stack of tools and routines. I think there is a ton of potential for building out support for other tools like Jira, Linear, GitLab and Telegram, and other routines like static code analysis, TODO/FIXME harvest or error log triage.

Get Millwright for your team

Millwright is free, open source and available right now. As part of my work helping organisations automate their ops and workflows, I’ll be providing support getting Millwright set up and building custom adaptors. If you’d like to see how Millwright could help your team, drop me a message.