LazyRails
LazyRails simplifies Rails project creation and tool installation, addressing two common pain points:
- Simplifying the verbose command for creating new Rails apps.
- Customizing the default tools installed with a new Rails project.
Features
- Interactive guide for creating new Rails projects
- On-the-fly addition and installation of popular gems and tools. No more open documentation and copy-paste commands.
Installation
Install globally:
gem install lazy_rails
Usage
Create a new Rails project:
lazy_rails new
Development
- Clone the repo:
git clone https://github.com/[USERNAME]/lazy_rails.git
- Install dependencies:
bin/setup
- Run tests:
rake spec
- Start console:
bin/console
Local installation: bundle exec rake install
Roadmap
- test compatibility with other ruby/rails versions
- Selection of Rails version (at least last 3)
- View template selection (ERB, Haml, Slim)
- Test tool selection (RSpec, Minitest, Test::Unit)
- Linter selection (RuboCop, Standard)
- Basic setup customization (Action Cable, Active Job, Action Mailer, Action Mailbox)
- On-the-fly popular gem installation (Devise, Sidekiq, Solid Queue)
- Improve documentation
- Enhance error handling and user feedback
✅ Completed:
- Basic CLI structure
- 'new' command for project generation
- CSS processor selection (Tailwind, Bootstrap, Bulma, PostCSS, Sass)
- JavaScript processor selection (Importmap, Bun, Webpack, esbuild, Rollup)
- Database selection (SQLite3, MySQL, PostgreSQL)
- Increase test coverage
- App type selection (API, Web)
Contributing
Contributions are welcome! See CONTRIBUTING.md for details.
License
This gem is available as open source under the MIT License.
Thanks
- Rails - The web framework that inspired this gem
- Thor - The toolkit for building powerful command-line interfaces
- @piotrmurach for tty-prompt
- @excid3 for inspiration and guidance
- The entire Rails community workers for their continuous contributions and support
This is my first gem as a Ruby/Rails developer. Sorry for very possible bugs. Feedback and contributions are appreciated!