Repository navigation
Expand file tree
/
Copy pathGemfile
More file actions
75 lines (64 loc) · 3.2 KB
/
Copy pathGemfile
File metadata and controls
75 lines (64 loc) · 3.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# frozen_string_literal: true
source 'https://rubygems.org'
# Runtime dependencies shared by `bin/autodev` (parent CLI) and the Rails
# children (`bin/rails server`, `bin/jobs`). `sequel` and `sinatra` were
# both retired during phase C of the railsification (step 2 second half +
# step 8) — the data layer is now AR-only and the web layer is Rails-only.
gem 'aasm', '~> 5.5'
gem 'gitlab', '~> 5.1'
gem 'i18n', '~> 1.0'
gem 'logger'
gem 'ostruct'
gem 'pastel', '~> 0.8'
gem 'phlex', '~> 2.4', '>= 2.4.1'
gem 'puma', '~> 6.0'
gem 'rack', '~> 3.0'
gem 'sqlite3', '~> 2.0'
# Railsification — phase A: Rails loads its own AR models in parallel to Sequel.
# bin/autodev is still bundler/inline and does NOT require these.
gem 'rails', '~> 8.1.3'
# Railsification — step 3: Devise + omniauth Azure AD (Microsoft 365 SSO).
# `bin/autodev` (Sinatra-only entrypoint) never loads these — `lib/autodev.rb`
# doesn't `require 'devise'`. They are pulled in only by `bin/rails server`
# via the active_record / action_controller railties.
gem 'activerecord-session_store', '~> 2.1'
gem 'devise', '~> 4.9'
# `omniauth-entra-id` is the maintained successor of the deprecated
# `omniauth-azure-activedirectory-v2`. The OmniAuth strategy class name is
# `Strategies::EntraId`; provider symbol passed to Devise is `:entra_id`.
gem 'omniauth-entra-id', '~> 3.0'
# Protects the omniauth POST callback against CSRF — omniauth 2.x defaults
# to POST-only callbacks to prevent CSRF, and this middleware emits the
# matching authenticity token check.
gem 'omniauth-rails_csrf_protection', '~> 1.0'
# Railsification — step 5: Solid Queue for the recurring poll job. Same
# Bundler.require-skipped story as Devise — explicit require in
# config/application.rb is required for the engine to register its tables.
gem 'solid_queue', '~> 1.1'
# Mission Control — web UI for inspecting + administering Solid Queue jobs
# (mounted at /admin/jobs by config/routes.rb). Same Bundler.require-skipped
# story as Devise/Solid Queue — `require 'mission_control/jobs'` lives in
# config/application.rb so the engine registers its routes + controllers.
# `propshaft` is pulled in because MCJ's engine touches `config.assets.paths`
# at boot — our minimal railtie set otherwise has no asset pipeline.
gem 'mission_control-jobs', '~> 1.1'
gem 'propshaft', '~> 1.1'
# Markdown → HTML for the in-app `/help` page (renders the functional
# usage guide that lives under `docs/usage/`). GFM tables + fenced code
# blocks out of the box, plus standard inline / block markdown.
gem 'redcarpet', '~> 3.6'
# Phase D step 9 (AutoSpec) — official Anthropic Ruby SDK. Wraps the
# Messages API + tool use + prompt caching (cf. autodev/docs/autospec.md §G).
# `bin/autodev` (legacy Sinatra entrypoint) never loads this — only the
# Rails-side `Autospec::Chat` service. Required lazily inside that service
# so test environments can inject a stub client without pulling the SDK
# (and its dependencies) into the test boot.
gem 'anthropic', '~> 1.4'
# Test dependencies
gem 'minitest', '~> 5.0'
gem 'rack-test', '~> 2.1'
gem 'rake', '~> 13.0'
gem 'rubocop', '~> 1.86'
gem 'rubocop-minitest', '~> 0.39.1'
gem 'rubocop-rake', '~> 0.7.1'
gem 'rubocop-sequel', '~> 0.4.1'