I use it to develop Axon itself. I run a team of specialized agents on my cluster, each with a different job:
Workers — Watch for GitHub issues, pick them up, investigate, write code, open PRs, self-review, and iterate until CI passes. If an agent gets stuck, it pauses and asks for my feedback. I respond on the issue, and it picks back up.
Fake User — Runs daily. Pretends to be a new developer trying Axon for the first time. Reads the README, tries CLI commands, reviews error messages. When it finds rough edges, it files issues. This catches things I’d never notice as the author.
Strategist — Runs twice a day. Thinks about new use cases, integrations, and API improvements. Reads the codebase, checks recent activity, and proposes ideas as issues. Some of the best feature ideas in Axon’s backlog came from this agent.
Triage — Classifies new issues by type, checks if they’re already fixed, detects duplicates, and posts a triage report.
The whole setup is YAML files you can kubectl apply on your own cluster.
Repo: https://github.com/axon-core/axon
Self-development pipeline: https://github.com/axon-core/axon/tree/main/self-development
It’s not magic though. The workers produce mediocre PRs sometimes and I still do the final review before merging. The fake user occasionally files issues that make no sense. The strategist sometimes suggests things that already exist. But even with the noise, it improves itself pretty well.