source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby "~> 3" gem "bundler", "~> 2.6.7" # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" gem "rails", "~> 7.2" gem "has_aux_table", path: "gems/has_aux_table" # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] gem "sprockets-rails" gem "pg" gem "pry" gem "pry-stack_explorer" # Use the Puma web server [https://github.com/puma/puma] gem "puma", "~> 5.0" gem "thruster" # # 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", "~> 2.13" # Use Redis adapter to run Action Cable in production # gem "redis", "~> 4.0" # Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis] # gem "kredis" # 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[mingw mswin x64_mingw jruby] # Reduces boot times through caching; required in config/boot.rb gem "bootsnap", require: false # Use Sass to process CSS # gem "sassc-rails" # Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] # gem "image_processing", "~> 1.2" group :development, :test, :staging do # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem gem "debug", "~> 1.11", platforms: %i[mri mingw x64_mingw] end group :development, :staging do # Use console on exceptions pages [https://github.com/rails/web-console] gem "htmlbeautifier" gem "rufo", require: false gem "web-console" # Speed up commands on slow machines / big apps [https://github.com/rails/spring] gem "spring" gem "spring-commands-rspec" # Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler] gem "memory_profiler" gem "rack-mini-profiler", "~> 3.3", require: %w[enable_rails_patches rack-mini-profiler] gem "stackprof" # temporary ref of rails_live_reload to a commit that adds ignore patterns # to the Listen gem gem "rails_live_reload", git: "https://github.com/railsjazz/rails_live_reload", ref: "dcd3b73904594e2c5134c2f6e05954f3937a8d29" # git: "https://github.com/mktakuya/rails_live_reload", # ref: "95d7ac7c03e8c702066ed3dc9cd70a965412e2d2" # gem "rails_live_reload", "0.4.0" end group :test do # Use system testing [https://guides.rubyonrails.org/testing.html#system-testing] gem "capybara" gem "rspec-rails", "~> 7.0" gem "rails-controller-testing" gem "selenium-webdriver" gem "webdrivers" gem "shoulda-matchers" gem "factory_bot_rails" gem "pundit-matchers", "~> 4.0" gem "db-query-matchers", "~> 0.14" end group :test, :development do gem "parallel_tests" gem "spring-commands-parallel-tests" end gem "addressable" gem "colorize" gem "concurrent-ruby-edge", require: "concurrent-edge" gem "concurrent-ruby-ext", require: "concurrent" gem "curb" gem "daemons" gem "discard" gem "good_job", "~> 4.6" gem "http-cookie" gem "http", "~> 5.2" # For proxying requests gem "kaminari" gem "nokogiri" gem "pluck_each" gem "ripcord" gem "ruby-prof" gem "ruby-prof-speedscope" gem "ruby-vips" gem "dhash-vips" gem "ffmpeg", git: "https://github.com/instructure/ruby-ffmpeg", tag: "v6.1.2" gem "table_print" gem "zstd-ruby" gem "rouge" gem "docx" gem "ruby-bbcode" gem "dtext_rb", git: "https://github.com/e621ng/dtext_rb", ref: "5ef8fd7a5205c832f4c18197911717e7d491494e" gem "charlock_holmes" # gem "pghero", git: "https://github.com/dymk/pghero", ref: "e314f99" gem "pghero", "~> 3.6" gem "pg_query", ">= 2" gem "disco" gem "faiss" gem "neighbor" gem "progressbar" gem "attr_json" group :production, :staging do gem "rails_semantic_logger", "~> 4.17" end group :production do gem "sd_notify" gem "cloudflare-rails" end gem "rack", "~> 2.2" gem "rack-cors" gem "react_on_rails" gem "sanitize", "~> 6.1" gem "shakapacker", "~> 6.6" gem "timeout" group :development do gem "prettier_print" gem "syntax_tree", "~> 6.2" gem "unicode_plot" # For terminal-based data visualization (Ruby API) gem "rumale" # Professional machine learning library for Ruby end gem "cssbundling-rails", "~> 1.4" gem "tailwindcss-rails", "~> 3.0" # Authentication gem "devise", "~> 4.9" # Authorization gem "pundit", "~> 2.4" # Monitoring gem "prometheus_exporter", "~> 2.2" SORBET_VERSION = "0.5.12221" gem "sorbet", SORBET_VERSION, group: :development gem "sorbet-runtime", SORBET_VERSION gem "tapioca", "0.16.6", require: false, group: %i[development test] gem "rspec-sorbet", group: [:test] gem "sorbet-struct-comparable"