Skip to content
This repository has been archived by the owner on Oct 8, 2020. It is now read-only.

Latest commit

 

History

History
118 lines (91 loc) · 5.43 KB

README.md

File metadata and controls

118 lines (91 loc) · 5.43 KB

Rubyists.dev

Conventional Commits

Ruby on Rails application initialized with Hix on Rails.

System dependencies

  • Ruby version: 2.6.6
  • Rails version: 6.0.3.1
  • Database: PostgreSQL
  • Redis installed

Setup

bin/setup

How to start the app

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.).

Code quality, formatting, and linters

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:

Security

  • Brakeman: A static analysis security vulnerability scanner for RoR

Performance

  • 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

DB

  • [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.**

Formatting & Linters

  • 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. Running bin/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

Not being used

  • 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