source 'https://rubygems.org' ruby file: '.ruby-version' # URI Implementation (https://github.com/sporkmonger/addressable) gem 'addressable' # Full-stack web application framework. (https://rubyonrails.org) gem 'rails', '~> 8.1.4' # Vite integration for Rails (https://github.com/skryukov/rails_vite) gem 'rails_vite' # The speed of a single-page web application without having to write any JavaScript. (https://github.com/hotwired/turbo-rails) gem 'turbo-rails' # Pg is the Ruby interface to the PostgreSQL RDBMS (https://github.com/ged/ruby-pg) gem 'pg', '~> 1.1' # A Ruby/Rack web server built for parallelism. (https://puma.io) gem 'puma', '>= 5.0' # A Ruby client library for Redis (https://github.com/redis/redis-rb) gem 'redis', '>= 4.0.1' # The best solution for store global settings in Rails applications. (https://github.com/huacnlee/rails-settings-cached) gem 'rails-settings-cached' # Slim templates generator for Rails (https://github.com/slim-template/slim-rails) gem 'slim-rails' # Middleware for enabling Cross-Origin Resource Sharing in Rack apps (https://github.com/cyu/rack-cors) gem 'rack-cors', require: 'rack/cors' # Block & throttle abusive requests (https://github.com/rack/rack-attack) gem 'rack-attack' # JSON Web Token implementation in Ruby (https://github.com/jwt/ruby-jwt) gem 'jwt' # Brotli compression for Rack responses (http://github.com/marcotc/rack-brotli/) gem 'rack-brotli' # Tame Rails' multi-line logging into a single line per request (https://github.com/roidrage/lograge) gem 'lograge' # CSV Reading and Writing (https://github.com/ruby/csv) # Influx::CsvParser reads the answers of InfluxDB with it. It is no default gem. gem 'csv' # A framework for building reusable, testable & encapsulated view components in Ruby on Rails. (https://viewcomponent.org) gem 'view_component' # The official Ruby SDK for Model Context Protocol servers and clients (https://ruby.sdk.modelcontextprotocol.io) gem 'mcp' # Ruby on Rails applications monitoring (https://www.rorvswild.com) gem 'rorvswild' # Pagy - The Leaping Gem! (https://github.com/ddnexus/pagy) gem 'pagy' group :development, :test do # Boot large ruby/rails apps faster (https://github.com/rails/bootsnap). # Development and test only: a container starts fresh every time, so the # image would write the cache and never read it (see config/boot.rb). gem 'bootsnap', require: false # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem # gem 'debug', platforms: %i[ mri windows ], require: 'debug/prelude' # Loads environment variables from `.env`. (https://github.com/bkeepers/dotenv) gem 'dotenv' # RSpec for Rails (https://github.com/rspec/rspec-rails) gem 'rspec-rails' # Automatic Ruby code style checking tool. (https://github.com/rubocop/rubocop) gem 'rubocop', require: false # Code style checking for Capybara test files (https://github.com/rubocop/rubocop-capybara) gem 'rubocop-capybara', require: false # Automatic performance checking tool for Ruby code. (https://github.com/rubocop/rubocop-performance) gem 'rubocop-performance', require: false # Automatic Rails code style checking tool. (https://github.com/rubocop/rubocop-rails) gem 'rubocop-rails', require: false # Code style checking for RSpec files (https://github.com/rubocop/rubocop-rspec) gem 'rubocop-rspec', require: false # Code style checking for RSpec Rails files (https://github.com/rubocop/rubocop-rspec_rails) gem 'rubocop-rspec_rails', require: false # RuboCop extension for ViewComponent best practices (https://github.com/andyw8/rubocop-view_component) gem 'rubocop-view_component', require: false # Thread-safety checks via static analysis (https://github.com/rubocop/rubocop-thread_safety) gem 'rubocop-thread_safety', require: false # A RuboCop plugin for Rake (https://github.com/rubocop/rubocop-rake) gem 'rubocop-rake', require: false # Slim template linting tool (https://github.com/sds/slim-lint) gem 'slim_lint' # Patch-level verification for Bundler (https://github.com/rubysec/bundler-audit#readme) gem 'bundler-audit', require: false end group :development do # a performance benchmarking library (https://github.com/ruby/benchmark) gem 'benchmark' # Process manager for applications with multiple components (https://github.com/ddollar/foreman) gem 'foreman' # Security vulnerability scanner for Ruby on Rails. (https://brakemanscanner.org) gem 'brakeman', require: false # A debugging tool for your Ruby on Rails applications. (https://github.com/rails/web-console) gem 'web-console' # Lookbook is a UI development environment for Ruby on Rails applications (https://github.com/lookbook-hq/lookbook) gem 'lookbook' # Listen to file modifications (https://github.com/guard/listen) gem 'listen' # A gem for generating annotations for Rails projects. (https://github.com/drwl/annotaterb) gem 'annotaterb' # Pretty print Ruby objects with proper indentation and colors (https://github.com/amazing-print/amazing_print) gem 'amazing_print' # A sampling profiler with threads and GVL, for the Firefox Profiler (https://github.com/jhawthorn/vernier) # Only for a special analysis, see docs/testing.md # gem 'vernier', require: false end group :test do # Run Test::Unit / RSpec / Cucumber / Spinach in parallel (https://github.com/grosser/parallel_tests) gem 'parallel_tests' # Capybara aims to simplify the process of integration testing Rack applications, such as Rails, Sinatra or Merb (https://github.com/teamcapybara/capybara) gem 'capybara', '>= 3.26' # Playwright driver for Capybara (https://github.com/YusukeIwaki/capybara-playwright-driver) gem 'capybara-playwright-driver' # Code coverage for Ruby (https://github.com/simplecov-ruby/simplecov) gem 'simplecov', require: false # Simple one-liner tests for common Rails functionality (https://matchers.shoulda.io/) gem 'shoulda-matchers' # Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests. (https://benoittgt.github.io/vcr) gem 'vcr' # Library for stubbing HTTP requests in Ruby. (https://github.com/bblimke/webmock) gem 'webmock' end group :production do # Full-stack error tracking, performance monitoring, logging, and more. (https://www.honeybadger.io/for/ruby/) gem 'honeybadger', require: ENV.key?('HONEYBADGER_API_KEY') end