# frozen_string_literal: true source 'https://rubygems.org' # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" gem 'rails', '~> 8.0.0' # The modern asset pipeline for Rails [https://github.com/rails/propshaft] gem 'propshaft' # Use sqlite3 as the database for Active Record gem 'sqlite3', '>= 2.1' # Use the Puma web server [https://github.com/puma/puma] gem 'puma', '>= 5.0' # Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails] gem 'importmap-rails' # Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev] gem 'turbo-rails' # Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev] gem 'stimulus-rails' # Build JSON APIs with ease [https://github.com/rails/jbuilder] gem 'jbuilder' # Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword] gem 'bcrypt', '~> 3.1.7' # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: %i[windows jruby] # Use the database-backed adapters for Rails.cache, Active Job, and Action Cable gem 'solid_cable' gem 'solid_cache' gem 'solid_queue' gem 'pg' # Reduces boot times through caching; required in config/boot.rb gem 'bootsnap', require: false # Deploy this application anywhere as a Docker container [https://kamal-deploy.org] gem 'kamal', require: false # Add HTTP asset caching/compression and X-Sendfile acceleration to Puma [https://github.com/basecamp/thruster/] gem 'thruster', require: false # Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] # gem "image_processing", "~> 1.2" # UI components gem 'tailwindcss-rails' gem 'view_component', '~> 3.20' gem 'cancancan' group :development, :test do # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem gem 'debug', platforms: %i[mri windows], require: 'debug/prelude' # Static analysis for security vulnerabilities [https://brakemanscanner.org/] gem 'brakeman', require: false # Linting gem 'rubocop', '~> 1.69' gem 'rubocop-capybara', '~> 2.21' gem 'rubocop-performance', '~> 1.23' gem 'rubocop-rails', '~> 2.27' gem 'rubocop-rspec', '~> 3.3' gem 'rubocop-rspec_rails', '~> 2.30' # Tests gem 'capybara', '~> 3.40' gem 'guard-rspec', '~> 4.7' gem 'rspec-rails', '~> 7.1' # Preview components gem 'lookbook', '~> 2.3' end group :development do # Use console on exceptions pages [https://github.com/rails/web-console] gem 'web-console' end