OpenMender is building a distributed system that autonomously improves open source software. Want to help? Check out our Getting Started Guide to learn how to use our development tools with your preferred LLM to contribute improvements.
Software is the invisible fabric that shapes our modern world. Open source software, built through the collaborative effort of countless individuals, forms the foundation of this digital infrastructure. Yet, across millions of repositories, there are countless small imperfections: bugs waiting to be fixed, optimizations waiting to be made, security vulnerabilities waiting to be patched.
We envision a future where artificial intelligence doesn't replace human developers but augments them - working tirelessly in the background to improve the quality of our shared digital commons. Like a careful gardener tending to a vast garden, OpenMender observes, analyzes, and thoughtfully improves the digital commons we all share.
To create an autonomous, distributed system that continuously improves open source software through careful observation, intelligent analysis, and measured intervention. We believe that by combining human creativity with machine persistence, we can elevate the quality of the entire open source ecosystem.
-
Collaborative Intelligence: We're not building a replacement for human developers, but a helper that handles the routine so humans can focus on the creative.
-
Democratic Participation: Anyone can contribute computing power, code, or knowledge to make the system better. The project itself grows through collective intelligence.
-
Verifiable Improvement: Every change must be provably beneficial, tested, and safe. We believe in progress through small, confident steps rather than large, risky leaps.
-
Open Process: The system that builds the system is as important as the end result. We're creating a framework that grows from a simple README to a sophisticated AI agent through transparent, collaborative evolution.
-
Distributed Ownership: No single entity should control this system. Like the open source projects it aims to improve, it belongs to the community.
-
Preserve Community Growth: We recognize that easily fixable issues often serve as valuable entry points for new contributors. OpenMender will:
- Respect issues tagged as "good first issue", "first-timers-only", "beginner friendly" etc.
- Focus on issues that have remained unaddressed for extended periods
- Prioritize fixes for issues that might deter rather than encourage new contributors
- Work alongside human contributors, not replace them6.
We stand at a unique moment in technological history. The tools for automated code analysis, generation, and verification have reached a level of sophistication that makes this vision possible. Yet we're also seeing the limitations of centralized AI systems. By creating a distributed, community-driven approach to code improvement, we can harness the power of AI while maintaining the open, collaborative spirit that makes open source software great.
OpenMender consists of two distinct but related systems:
- The Bootstrap System - A self-improving framework that helps build the agent
- The Mender Agent - The final autonomous system that will improve open source projects
Located in /bootstrap
, this is our starting point. It's a framework that:
- Evaluates and merges pull requests
- Gradually automates its own processes
- Helps coordinate the collaborative development
- Eventually becomes capable of building the agent itself
The bootstrap system starts simple (mainly manual) and grows more sophisticated through community contributions, eventually becoming capable of autonomous operation.
Located in /agent
, this is our end goal. Once built, it will:
- Explore GitHub repositories
- Identify fixable issues
- Generate and verify fixes
- Submit improvements
- Operate in a distributed manner
The agent itself will be built gradually through the bootstrap system, ensuring quality and safety at each step.
We are at the very beginning, focusing on building the bootstrap system. The current priorities are:
- Setting up basic PR evaluation criteria
- Creating initial contribution guidelines
- Establishing quality control mechanisms
- Building the first automated components
You can contribute to either system:
- Improve PR evaluation logic
- Add automation capabilities
- Enhance quality checks
- Document patterns and processes
- Design architecture
- Define fix patterns
- Create analysis tools
- Develop distribution mechanisms
- Star this repository to show interest
- Check the issues for current tasks
- Read CONTRIBUTING.md for contribution guidelines
- Join discussions in the Discussions tab
As the project evolves, we aim to:
- Create a self-improving system
- Build a distributed computing network
- Develop AI-assisted code improvement capabilities
- Create a reputation system for contributors
- Create an issue for questions
- Join our [Discord/Matrix] channel (coming soon)
- Follow project updates
- Claudine - An AI agent using Claude to interact with local systems and assist developers through command-line tools. Focuses on general-purpose assistance and local system interaction.
"Small improvements, consistently made, create extraordinary results."