By Ben Houston, 2025-03-05 · 8 min read
One of the most compelling demonstrations of MyCoder's capabilities is how we use it to improve itself. This recursive development approach not only showcases the tool's practical applications but also helps us identify improvement opportunities from a user's perspective.
Over the past few days, MyCoder has been instrumental in its own development, with more than 20 issues addressed and 15 pull requests merged. This productivity boost has allowed us to implement new features, fix bugs, and improve documentation at a pace that would be challenging with conventional development approaches.
Looking at the GitHub repository activity from the past two days alone:
This rapid development cycle demonstrates how MyCoder can accelerate software projects, even complex ones like itself.
MyCoder has proven particularly effective at implementing complete features based on high-level descriptions. For example, the recent addition of the configuration system:
mycoder "Create a persistent configuration system that allows users to set default values for command line options"
This resulted in a complete implementation including:
Another example is the multi-provider support feature, which expanded MyCoder beyond Claude to support OpenAI, Mistral AI, xAI/Grok, and Ollama:
mycoder "Add support for OpenAI o3 mini and GPT-4o models"
MyCoder excels at diagnosing and fixing bugs, even in its own codebase. A recent example involved fixing cross-platform compatibility issues:
mycoder "Replace shell commands with Node.js APIs for cross-platform compatibility"
This addressed performance issues on Windows compared to MacOS by replacing shell commands with native Node.js APIs, resulting in more consistent behavior across operating systems.
Another example was addressing newline handling in GitHub messages:
mycoder "Fix newline escape characters in GitHub messages"
MyCoder has successfully refactored its own code structure to improve maintainability and performance:
mycoder "Refactor toolAgent structure"
This refactoring reorganized the tool agent system to be more modular and easier to extend with new capabilities.
Another example:
mycoder "Remove deprecated toolAgent.ts file and fix direct imports"
MyCoder has been used to generate and update its own documentation, ensuring that it stays current with new features:
mycoder "Update documentation to include new configuration options and multi-provider support"
The tool is particularly good at maintaining consistency between code and documentation, as it can analyze the implementation details and reflect them accurately in the docs.
Our typical workflow when using MyCoder to improve itself follows these steps:
With GitHub mode enabled, MyCoder can handle much of this workflow automatically.
While using MyCoder to improve itself has been largely successful, we've encountered some interesting challenges:
Challenge: As the codebase grows, fitting the entire context within the AI's context window becomes difficult.
Solution: MyCoder now intelligently navigates the codebase, focusing on relevant files and using its browsing capabilities to research when needed.
Challenge: Ensuring consistent coding style and patterns across contributions.
Solution: We've added custom prompts that guide MyCoder to follow project conventions:
mycoder config set customPrompt "Follow the existing coding style. Use functional programming patterns when possible. Write comprehensive tests for all new functionality."
Challenge: Some architectural decisions require broader understanding and consideration of tradeoffs.
Solution: We use MyCoder in a collaborative way for these cases, where it proposes options with pros and cons, and humans make the final architectural decisions.
The productivity gains from using MyCoder on its own development have been substantial:
Our experience using MyCoder to improve itself has taught us several valuable lessons:
Using MyCoder to build and improve itself has created a virtuous cycle where each improvement makes the tool more capable of implementing the next feature or fixing the next bug. This recursive development approach not only accelerates our development process but also gives us direct insight into the user experience.
As we continue to enhance MyCoder, we're excited to see how far this self-improving cycle can go. The rapid pace of recent development suggests that AI-assisted development tools like MyCoder are fundamentally changing how software is built, making development faster, more accessible, and more enjoyable.
If you're interested in trying MyCoder for your own projects, check out our GitHub repository or join our Discord community to share your experiences and learn from others.
Happy coding with MyCoder!