source "https://rubygems.org"
ruby "3.2.2"
# CORE
gem "rails", "~> 7.1.2"
gem "sqlite3", "~> 1.4"
gem "puma", ">= 5.0"
gem "litestack"
gem "solid_queue"
gem "anycable-rails-core", "~> 1.5.0"
gem "action_policy"
gem "active_delivery", "~> 1.2"
gem "solid_cache"
# AUTHENTICATION
gem "omniauth"
gem "omniauth-github"
# Provides a mitigation against CVE-2015-9284 [https://github.com/cookpad/omniauth-rails_csrf_protection]
gem "omniauth-rails_csrf_protection"
gem "bcrypt"
# FRONTEND
gem "turbo-rails", "~> 2.0"
gem "propshaft"
gem "vite_rails"
# TODO: Get rid of Phlex.
# 1.10 adds a lot of deprecations and 2.0 will remove #template
# used by phlex_ui.
gem "phlex", "~> 1.9.0"
gem "phlex_ui", path: "vendor/gems/phlex_ui"
gem "phlex-rails"
gem "inline_svg"
gem "actionview_attribute_builders", "~> 0.1.0"
# For emails CSS generation
gem "cssbundling-rails"
# Inline mailer styles
gem "premailer-rails"
# Storybook
gem "lookbook", ">= 2.2.0", require: false
gem "view_component-contrib"
# Markdown / static pages
gem "markdown-rails"
gem "rouge"
# Admin/maintenance
gem "avo", "~> 3.1", ">= 3.1.0"
gem "data_migrate", "~> 9.2"
gem "mission_control-jobs"
# Rails extensions
gem "active_job-performs"
gem "active_record-associated_object"
gem "after_commit_everywhere"
gem "workflow"
gem "name_of_person"
gem "store_model"
# Dry plugins
gem "dry-initializer"
gem "dry-monads"
# Integrations
gem "octokit"
gem "faraday-retry"
# MISC
gem "anyway_config"
gem "nanoid"
gem "bootsnap", require: false
gem "freezolite"
gem "ruby-next", "~> 1.0"
# Get rid of `GET /up` logs
gem "silencer", require: ["silencer/rails/logger"]
# Fake GraphQL API server for Fly.io
gem "graphql"
# Action Cable / AnyCable WebSocket client
gem "anyt-core", "~> 1.3.0", require: ["anyt/client"]
group :production do
gem "sentry-ruby", "~> 5.15"
gem "sentry-rails", "~> 5.15"
end
group :development, :test do
gem "database_consistency", require: false
gem "isolator"
gem "debug"
end
group :development do
gem "web-console"
gem "dockerfile-rails", ">= 1.5"
gem "letter_opener_web"
gem "overmind"
end
group :test do
gem "test-prof"
gem "capybara"
gem "capybara-email"
gem "cuprite"
gem "webmock"
gem "vcr"
end