Experimenting with Crush: AI-Generated Code and Learning Through Automation
Yesterday, Charm.sh launched Crush, an open-source AI coding agent that can generate entire applications from natural language descriptions. As someone who was fortunate enough to participate in the early access program, I wanted to share my experience with this fascinating tool and what I learned about AI-assisted development.
Early Access and Contributing
During the early access phase, I encountered a panic in Crush’s codebase and managed to identify and fix the issue. It was a small contribution —just a bug fix— but it felt rewarding to help improve a tool that was still taking shape. This experience reminded me that even polished tools have rough edges, and there’s value in being part of the testing and improvement process.
The Culebra Experiment
To truly test Crush’s capabilities, I decided to generate an entire Go library from scratch. The result was Culebra, a Go library that enables loading Lua scripts as configuration files for applications.
The idea was to create something that would solve a real problem I’d encountered: wanting more flexible configuration files that could contain logic and environment-specific settings, beyond what static YAML or JSON could offer.
What Crush generated was impressive:
- Complete Go library with proper module structure and API design
- Dual configuration styles supporting both traditional global variables and Neovim-style return statements
- Dynamic configuration loading with environment-based logic support
- Optional integrations with popular Go libraries like Viper and Cobra
- Comprehensive documentation and usage examples
- Well-structured code following Go conventions and best practices
The Cost of Curiosity
The entire generation process cost about $5 in Anthropic API calls using Claude Sonnet 4. For a complete, functional Go library with proper API design and documentation, that felt remarkably economical. It made me think about the economics of software development and how AI might change our approach to prototyping and experimentation. Although I would rather have a subscription-based service, can’t afford the cost of regularly running the Anthropic API myself.
What I Learned
This experiment taught me several things about AI-assisted development:
AI excels at structure: Crush generated clean, well-organized code that followed Go conventions and best practices. The project structure, dependency management, and code organization were all solid.
Context matters: The more specific and detailed the initial prompt, the better the results. Vague descriptions lead to generic solutions.
Iteration is key: While the initial generation was impressive, the real value came from iterating on the output, refining features, and adding personal touches.
It’s a tool, not a replacement: Crush didn’t replace my need to understand the code it generated. I still needed to review, test, and validate everything it produced.
The Future of Development?
Tools like Crush raise interesting questions about the future of software development. They’re not replacing developers—they’re changing how we work. Instead of writing every line from scratch, we might spend more time on architecture, requirements gathering, and quality assurance.
For someone like me, who enjoys both the creative and technical aspects of programming, AI code generation feels like having a very capable pair programming partner. One that can quickly scaffold ideas but still needs human guidance for the nuanced decisions that make software truly useful.
Try It Yourself
If you’re curious about AI-assisted development, I’d encourage you to experiment with tools like Crush. Start small, be specific with your prompts, and don’t be afraid to iterate. The technology is evolving rapidly, and hands-on experience is the best way to understand both its potential and limitations.
You can check out the Culebra project to see what Crush generated, or dive into Crush itself to explore the tool that made it possible.
The future of development might be more collaborative between humans and AI than we initially imagined—and that’s an exciting prospect to explore.