Ruby on Rails application initialized with Hix on Rails.
- Ruby version: 2.6.6
- Rails version: 6.0.3.1
- Database: PostgreSQL
- Redis installed
bin/setupStart the Ruby on Rails server with:
rails serverTo run the webpack-dev-server, optional but recommended, launch another process with:
bin/webpack-dev-serverTo run Sidekiq, launch another process with:
bundle exec sidekiqI currently use Tmuxinator to do the above, but am happy to accept PR's to sample configs for your favorite tool (Foreman, Docker, teamocil, etc.).
The application provides several code quality analysis tools and linters baked in. If they are important, they will be run as a CI check when commits are pushed. Otherwise, they are just nice to have. There will be a binstub or script in package.json you can use to run most of the tools. TL;DR Run bin/format before committing and you don't have to pay attention to anything else. If you are interested though:
- Brakeman: A static analysis security vulnerability scanner for RoR
- Fasterer: CLI tool to suggest some speed improvements for Ruby
- Bullet: Help to kill N+1 queries and unused eager loading**
- Webpack Bundle Analyzer: Visualize size of webpack output files with an interactive zoomable treemap
- [DatabaseConsistency]: A tool to find inconsistency between models schema and database constraints.
- lol_dba: Find DB columns that should be indexed
- erd: A Rails engine for drawing your apps ERD. View at
/erdin development mode.**
- Rails Best Practices
- Annotate*: Annotate Rails classes with schema and routes info
- ERB Lint*: Linter for your ERB & HTML files
- Model Probe*: Schema introspection for ActiveModel. Run with
rails model_probe:probe[YourModelName] - Prettier Standard*: Formats JS & CSS with Prettier and lints with ESLint+Standard
- StandardRB*: Ruby Style Guide, with linter & automatic code fixer
- StrongVersions*: Enforce a strict versioning policy in your Gemfile
- [ordinare][ordinate]: Ordinare sorts gems in your Gemfile alphabetically*
*Required to be run for merge. Runningbin/formatshould auto-correct everything for you. The exception is Model Probe, which you will need to run yourself if you add a new model.
**Is running in the background or will run automatically after certain actions happen
- Traceroute: A Rake task that helps you find dead routes and unused actions in your app
- yardstick: A tool for verifying YARD documentation coverage
- documentation: A Rails engine to provide the ability to add documentation to a Rails application
- bootboot: Dualboot your Ruby app made easy
- skunk: A RubyCritic extension to calculate SkunkScore for a file or project
- coverband: A gem to measure production code usage
- bundle_benchmark: Time gem loading
- derailed_benchmarks: Benchmarks for your whole Rails app
- htmlbeautifier: ERB formatter with VSCode extension
- full_request_logger: Easy access to full request logs via a web UI
- sandi_meter: Static analysis tool for checking Ruby code for Sandi Metz' rules
- strong_migrations: Catch unsafe migrations in development