| 1 | source "https://rubygems.org" |
| 2 | |
| 3 | # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" |
| 4 | gem "rails", "~> 8.1.3" |
| 5 | # The modern asset pipeline for Rails [https://github.com/rails/propshaft] |
| 6 | gem "propshaft" |
| 7 | # Use postgresql as the database for Active Record |
| 8 | gem "pg", "~> 1.1" |
| 9 | # Use the Puma web server [https://github.com/puma/puma] |
| 10 | gem "puma", ">= 5.0" |
| 11 | # Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails] |
| 12 | gem "importmap-rails" |
| 13 | # Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev] |
| 14 | gem "turbo-rails" |
| 15 | # Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev] |
| 16 | gem "stimulus-rails" |
| 17 | # Use Tailwind CSS [https://github.com/rails/tailwindcss-rails] |
| 18 | gem "tailwindcss-rails", "~> 3.3.1" |
| 19 | # Build JSON APIs with ease [https://github.com/rails/jbuilder] |
| 20 | gem "jbuilder" |
| 21 | |
| 22 | # Stripe — siGit's own billing (siGit Code Pro/Team). Separate from Onde's billing. |
| 23 | gem "stripe", "~> 13" |
| 24 | |
| 25 | # smbCloud Auth — native Rust/Magnus extension for login, signup, me, logout. |
| 26 | gem "smbcloud-auth", "~> 0.4.5" |
| 27 | |
| 28 | # Markdown rendering for README files |
| 29 | gem "redcarpet", "~> 3.6" |
| 30 | |
| 31 | # Syntax highlighting for code files |
| 32 | gem "rouge", "~> 4.5" |
| 33 | |
| 34 | # RS256 JWT minting for GitHub App authentication (installation access tokens) |
| 35 | gem "jwt", "~> 3.1" |
| 36 | |
| 37 | # Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword] |
| 38 | # gem "bcrypt", "~> 3.1.7" |
| 39 | |
| 40 | # Windows does not include zoneinfo files, so bundle the tzinfo-data gem |
| 41 | gem "tzinfo-data", platforms: %i[ windows jruby ] |
| 42 | |
| 43 | # Use the database-backed adapters for Rails.cache, Active Job, and Action Cable |
| 44 | gem "solid_cache" |
| 45 | gem "solid_queue" |
| 46 | gem "solid_cable" |
| 47 | |
| 48 | # Reduces boot times through caching; required in config/boot.rb |
| 49 | gem "bootsnap", require: false |
| 50 | |
| 51 | # Deploy this application anywhere as a Docker container [https://kamal-deploy.org] |
| 52 | gem "kamal", require: false |
| 53 | |
| 54 | # Add HTTP asset caching/compression and X-Sendfile acceleration to Puma [https://github.com/basecamp/thruster/] |
| 55 | gem "thruster", require: false |
| 56 | |
| 57 | # Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] |
| 58 | gem "image_processing", "~> 1.2" |
| 59 | |
| 60 | group :development do |
| 61 | # Open sent emails in the browser instead of sending them |
| 62 | gem "letter_opener" |
| 63 | end |
| 64 | |
| 65 | group :development, :test do |
| 66 | # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem |
| 67 | gem "debug", platforms: %i[ mri windows ], require: "debug/prelude" |
| 68 | |
| 69 | # Load .env file into ENV on boot |
| 70 | gem "dotenv-rails" |
| 71 | |
| 72 | # Audits gems for known security defects (use config/bundler-audit.yml to ignore issues) |
| 73 | gem "bundler-audit", require: false |
| 74 | |
| 75 | # Static analysis for security vulnerabilities [https://brakemanscanner.org/] |
| 76 | gem "brakeman", require: false |
| 77 | |
| 78 | # Omakase Ruby styling [https://github.com/rails/rubocop-rails-omakase/] |
| 79 | gem "rubocop-rails-omakase", require: false |
| 80 | |
| 81 | # RSpec for request/model specs [https://github.com/rspec/rspec-rails] |
| 82 | gem "rspec-rails", "~> 8.0" |
| 83 | |
| 84 | # Stub outbound HTTP (GitHub REST) in specs |
| 85 | gem "webmock", require: false |
| 86 | end |
| 87 | |
| 88 | group :development do |
| 89 | # Use console on exceptions pages [https://github.com/rails/web-console] |
| 90 | gem "web-console" |
| 91 | end |