automater
v1.0.2
Published
Scaffold modern web apps with best practices in seconds
Maintainers
Readme
Automater
Skip the setup, focus on the code - built for Hack Your Future
Automater is a CLI tool designed for Hack Your Future participants to instantly create production-ready web applications. Skip the boring configuration and jump straight into the design-to-code feedback loop that matters most in real development work.
While primarily built to support Hack Your Future assignments, Automater follows the Open-Closed Principle - stable core functionality that's easily extensible for other educational programs and use cases.
What is Hack Your Future?
What is Automater?
Automater solves the "blank page problem" for developers by providing:
- Instant scaffolding with
automater create my-app --features=mui,biome - Conflict-free integrations - installing MUI automatically handles Tailwind conflicts
- Best practice defaults - follows official docs from Vite, Next.js, MUI, Biome, etc.
- Incremental additions - add features to existing projects safely
Think npm create cloudflare@latest but for any stack combination with intelligent conflict resolution.
Quick Start
Create a New Project
# NextJS + TypeScript + MUI + Toolpad + Biome + Cloudflare
npx automater create examples/opennext-mui-toolpad --features=mui-toolpadDemo

List Available Options
automater list templates
automater list featuresSupported Features
📖 Complete reference: See OPTIONS_OVERVIEW.md for detailed feature descriptions, sources, and compatibility matrix.
Security & Quality ⭐
- serverHardening (Default): Production-ready security headers following OWASP guidelines
- biome (Default): Fast Rust-based linter/formatter from Biome project
🔒 Security Best Practices - Detailed security implementation and verification guide.
Styling & UI
- mui: Material-UI components with official Next.js integration
- mui-toolpad: Complete admin dashboard with MUI Toolpad Core - includes theme system, DataGrids, and CRUD pages
Deployment
- cloudflare: Cloudflare Pages with Workers integration
Default Features
All templates include serverHardening and biome by default for production readiness and optimal developer experience.
Coding Principles
Automater follows essential development principles that help developers write clear, maintainable code:
- RTFM (Respect The Framework's Model): Follow official documentation and framework conventions
- C4C (Coding For Clarity): Write code that's easy to read and understand
- C4I (Code for Inclusivity): Make your code accessible to new team members
- KISS (Keep It Simple Stupid): Choose simplicity over cleverness
- YAGNI (You Aren't Gonna Need It): Don't build features until they're needed
- HIPI (Hide Implementation, Present Interface): Encapsulate complexity behind clear APIs
- NBI (Naming by Intention): Use names that clearly express purpose and behavior
Every generated project embeds these principles through code comments, structure, and tool choices.
📖 More Information - Detailed explanations, enterprise principles, SOLID, and 15-factor app guidelines.
🔧 Toolpad Best Practices - Essential patterns for MUI Toolpad implementation based on official examples.
How It Works
Conflict Resolution
Automater intelligently handles conflicts between tools:
- Installing MUI removes Tailwind and offers CSS-in-JS alternatives
- Adding Biome replaces existing ESLint + Prettier configurations
- Framework-specific integrations follow official documentation
Best Practices
Every feature follows official documentation:
- MUI installation uses the exact steps from MUI Next.js guide
- Biome setup follows Biome getting started
- Vite configuration matches Vite official templates
Development
Prerequisites
- Node.js 18+
- pnpm (recommended) or npm
Contributing
We welcome contributions! Here's how to get started:
Adding a New Feature
- Create feature config in
src/features/ - Add template files in
templates/features/ - Update conflict resolution rules if needed
- Add tests and documentation
Adding a New Template
- Create template directory in
templates/ - Add template config in
src/templates/ - Test with various feature combinations
- Update documentation
Contribution Guidelines
- Follow existing code style (Biome formatting)
- Add tests for new features
- Update documentation
- Follow official documentation for integrations
- Test conflict resolution scenarios
Pull Request Process
- Fork the repository
- Create a feature branch:
git checkout -b feature/new-feature - Make your changes and add tests
- Run
pnpm testandpnpm build - Submit a pull request with clear description
Contribution
See CONTRIBUTION.md
Support This Project
This project is free and open source, but it wasn't free to build. If Automater saves you time and helps your development workflow, please consider supporting its continued development.
Your support helps:
- Maintain and improve existing features
- Add new templates and integrations
- Provide community support
- Keep the project sustainable
Every contribution, no matter the size, makes a difference and is greatly appreciated! 🙏
License
MIT License - see LICENSE for details.

