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/setup
Start the Ruby on Rails server with:
rails server
To run the webpack-dev-server, optional but recommended, launch another process with:
bin/webpack-dev-server
To run Sidekiq, launch another process with:
bundle exec sidekiq
I 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
/erd
in 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/format
should 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