Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
8da4136
PLATFORMSを設定
komagata Jan 17, 2026
011844e
platformの記述を簡略化した
komagata Jan 17, 2026
4dd736c
solid_cacheを導入
komagata Jan 17, 2026
e14dc68
PLATFORMSにrubyを追加
komagata Jan 17, 2026
c2d8a5e
SassからCSSへの変換とtailwindcss-railsへの移行
machida Jan 21, 2026
f50c0a7
企業テストでページ遷移後の待機を追加
machida Jan 21, 2026
d090e45
企業テストを直接ページアクセスに変更してFLAKYを解消
machida Jan 21, 2026
da49ebf
サインアップテストのセッションリセット時のタイムアウトを処理
machida Jan 21, 2026
56f3f92
bin/devでforemanを使ってProcfile.devを起動するように変更
machida Jan 21, 2026
08e0faf
lp-top-coverの背景画像パスを修正
machida Jan 21, 2026
2b1713f
未ログインページの背景画像が表示される様に修正
machida Jan 21, 2026
3da1bd8
未ログイン時のフッターナビのデザイン崩れ修正
machida Jan 21, 2026
4598e1c
エラーページのデザインを統一
machida Jan 22, 2026
4eaa165
未ログインページのデザイン崩れを修正
machida Jan 21, 2026
2893cac
require_loginテストにNet::ReadTimeoutの対策を追加
machida Jan 22, 2026
dfe2c66
hotfixでproductionにだけ追加したスタイルを追加
machida Jan 22, 2026
3d0c8c4
キャンペーン用画像を追加
machida Jan 22, 2026
219b794
バニラjsに置き換え
karlley Nov 5, 2025
667fea7
Choices.jsのクリーンナップ関数の修正
karlley Nov 10, 2025
4d0eb81
セレクトボックスの再選択で再マウントしない
karlley Nov 11, 2025
11368be
作成したクラスの無名関数化
karlley Nov 12, 2025
c6a05ed
PracticeFilterDropdown.jsxの削除
karlley Nov 11, 2025
1199388
文脈に合うように変数名を変更
karlley Dec 9, 2025
f9e8a6f
ドロップダウン重複生成防止用の変数を減らす
karlley Dec 21, 2025
08f2395
定期イベントにブックマークボタンを追加
tyrrell-IH Nov 12, 2025
300f2a8
wait_for_javascript_componentsを使用してブックマークボタンのloading状態が消えるのを待機するよう修正
tyrrell-IH Dec 2, 2025
f369787
不要なto_sを削除
tyrrell-IH Dec 24, 2025
6ec61d0
ラベル内の定期イベントの文言が適切な箇所で改行されるように修正
tyrrell-IH Dec 27, 2025
050561f
usersテーブルからjob_seekingカラムを削除したことをスキーマファイルに反映
ryufuta Jan 6, 2026
2fe8d40
スキーマファイルからdata_migrationsテーブルの記述を削除
ryufuta Jan 6, 2026
dd4b965
画像保存時にEXifデータを削除
matuaya Nov 6, 2025
4539524
EXIF削除処理に例外処理を追加し、失敗時に画像を削除するよう修正
matuaya Nov 6, 2025
2846903
ensureを追加して一時ファイルを必ず削除するように修正
matuaya Nov 6, 2025
f62082f
EXif削除後のファイル名にタイムスタンプを追加
matuaya Nov 7, 2025
ec620df
EXIF削除時のファイルハンドルリークを防止
matuaya Nov 7, 2025
7e30204
EXIF削除処理をコントローラーからモデルへ移動
matuaya Dec 21, 2025
995a109
誤って削除した適用済みのマイグレーションファイルを復元
ryufuta Oct 31, 2025
4739152
誤って修正した適用済みのマイグレーションファイルを復元
ryufuta Jan 6, 2026
de9b8b3
本番環境のDBスキーマと乖離したマイグレーションファイルを修復
ryufuta Jan 6, 2026
dd67c69
学習中のユーザー一覧の縦スクロールを非表示にした
machida Jan 23, 2026
f3c2bc8
Tailwindとの名前かぶりの問題を解決、不要な設定を削除
machida Jan 23, 2026
677d5a4
Tailwindの設定を変えたせいで動きが変わってしまった部分の修正
machida Jan 23, 2026
f048caa
不要なpostcss関連のファイルを削除
machida Jan 23, 2026
d14c067
サイドバーのデザイン崩れを修正
machida Jan 23, 2026
aeb1089
CSS抜けに対応
machida Jan 23, 2026
e47e9b0
デザイン崩れ修正
machida Jan 23, 2026
ab59b4e
CSSを更新したらCSSのコンパイルが動くようにした
machida Jan 23, 2026
a55653f
AI検索(RAG)機能を追加
komagata Jan 18, 2026
3b78f9a
CIにpgvectorのインストールを追加
komagata Jan 18, 2026
26f4fd6
AI検索機能のテストを追加
komagata Jan 18, 2026
e18c7bd
テストのrubocop違反を修正
komagata Jan 18, 2026
0026446
Searchable concernでテーブル存在チェックを追加
komagata Jan 18, 2026
c3d6a66
CI: pgvector/pgvectorイメージを使用
komagata Jan 18, 2026
e1ebba5
Searchable concernでデータベース接続エラーを無視
komagata Jan 18, 2026
bec1528
rubocop違反を修正
komagata Jan 18, 2026
320f013
検索モード選択肢を定数に抽出
komagata Jan 18, 2026
ba05309
CI: PostgreSQL環境変数を正しいコンテナに移動
komagata Jan 18, 2026
e18d110
Searchable concernのDB接続エラーを堅牢に処理
komagata Jan 18, 2026
c0ce426
has_neighborsを常に定義してメソッド可用性を確保
komagata Jan 18, 2026
485a1d3
SemanticSearcherにエラーハンドリングを追加
komagata Jan 18, 2026
a8039cc
SemanticSearcherのリファクタリングで複雑性を低減
komagata Jan 18, 2026
1d97fe3
has_neighborsをembeddingカラム存在時のみ設定
komagata Jan 18, 2026
c4592d8
CI: pgvector拡張をci_testデータベースで有効化
komagata Jan 18, 2026
253476d
自動embedding生成コールバックを削除
komagata Jan 18, 2026
f5a8097
rubocop IfUnlessModifier違反を修正
komagata Jan 18, 2026
f72ad07
テストを簡略化してCI問題を診断
komagata Jan 18, 2026
5714229
neighbor gemの依存を削除しSQLで直接ベクトル検索
komagata Jan 18, 2026
2c9f810
rubocop Style/CommentAnnotation違反を修正
komagata Jan 18, 2026
c367df1
neighbor gemを削除
komagata Jan 18, 2026
c569261
SmartSearchモジュールを一時的に削除
komagata Jan 18, 2026
a3a3d6f
マイグレーション: CorrectAnswerはSTIなので除外
komagata Jan 18, 2026
f230213
ruby_llm gemを削除してCI問題を診断
komagata Jan 18, 2026
2d4f08c
pgvectorマイグレーションとCI設定を削除
komagata Jan 18, 2026
db22840
AI検索(RAG)機能を再実装 - pgvector + RubyLLM
komagata Jan 18, 2026
224e485
CI設定とコードの修正
komagata Jan 18, 2026
dd82647
TextExtractorをリファクタリング(MethodLength違反修正)
komagata Jan 18, 2026
0ab96d0
CodeRabbitの指摘に対応
komagata Jan 18, 2026
8581d19
CodeRabbitの追加指摘に対応
komagata Jan 19, 2026
427af6a
CI再実行
komagata Jan 19, 2026
6b92a14
TextExtractorからTITLE_DESCRIPTION_MODELS定数を削除
komagata Jan 19, 2026
982ff40
rubocop 不要なdisableコメントを削除
komagata Jan 19, 2026
7116ffa
CI再実行(フレーキーテスト対策)
komagata Jan 19, 2026
432448c
TranscodeJobTestにteardownを追加して設定をリセット
komagata Jan 19, 2026
70631d1
CI再実行
komagata Jan 19, 2026
91909a5
コメントを日本語に変更
komagata Jan 25, 2026
a83ce31
管理画面にEmbedding進捗確認ページを追加
komagata Jan 25, 2026
253d35a
TextExtractorをオブジェクト指向的な設計にリファクタリング
komagata Jan 25, 2026
f8dc826
SmartSearchのシステムテストを追加
komagata Jan 25, 2026
f2913b6
neighbor gemを追加し、RubyLLMの戻り値を修正
komagata Jan 26, 2026
1e810d0
スマート検索の表示条件を環境・権限ベースに変更
komagata Jan 26, 2026
809163e
Embedding管理画面のタイトルとレイアウトを修正
komagata Jan 26, 2026
3103d50
Embedding生成コマンドのデザインを全員のメアドと統一
komagata Jan 26, 2026
ef24633
pre/code内のテキストをSlimのパイプ構文で修正
komagata Jan 26, 2026
db82cce
フィーチャーフラグをシンプル化し、developmentでデフォルトON
komagata Jan 26, 2026
0c5a149
フィーチャーフラグの制御をヘルパーメソッド内で完結させる
komagata Jan 26, 2026
2927118
test環境でもsmart_searchを常に有効化
komagata Jan 26, 2026
766d9f7
環境変数をOPENAI_API_KEYからOPEN_AI_ACCESS_TOKENに変更
komagata Jan 27, 2026
152ba37
Cloud Buildでembedding生成を実行するように変更
komagata Jan 27, 2026
13bf4ac
レコード作成・更新時にembeddingを自動生成
komagata Jan 27, 2026
65845e3
不要なTextExtractorモジュールを削除
komagata Jan 27, 2026
9845153
Cloud BuildにOPEN_AI_ACCESS_TOKENを追加
komagata Jan 27, 2026
2675823
rubocop違反を修正
komagata Jan 27, 2026
6fe875f
Embedding管理画面のテストをビューに合わせて修正
komagata Jan 27, 2026
0a67b06
slim-lint違反を修正
komagata Jan 27, 2026
4ac6609
デザイン崩れ修正
machida Jan 27, 2026
959a8f4
reset系CSSを削除し、Tailwindのresetを使うようにした
machida Jan 28, 2026
7c09c92
SolidQueueのスレッド数を3から1に削減
komagata Jan 28, 2026
5ea6279
Embedding生成コマンドのslim表記を修正
komagata Jan 28, 2026
84e1b88
tailwindのユーティリティクラスを優先させた
machida Jan 28, 2026
9030000
lintの指摘を修正
machida Jan 28, 2026
745ad30
learning_time_frameのテストの修正
machida Jan 28, 2026
79177fd
未使用変数を削除してRuboCopの警告を修正
machida Jan 28, 2026
5ce336b
フレイキーなシステムテストを修正
machida Jan 28, 2026
8f6dcde
slimのlint違反を修正
machida Jan 28, 2026
59e98d5
Cloud BuildにAPP_HOST_NAMEを追加
komagata Jan 27, 2026
c1ae1a7
検索方法のプルダウンをラジオボタンに変更
komagata Jan 28, 2026
d63002c
検索モードのラジオボタンのデザインを修正
komagata Jan 28, 2026
ab0d5d2
embedding生成Rakeタスクに診断ログを追加
komagata Jan 29, 2026
420c3a5
ステージングデプロイ時のDB削除を接続強制切断方式に変更
komagata Jan 29, 2026
4f3708d
ステージングDB作成時にpgvector拡張を有効化
komagata Jan 29, 2026
96c6d5e
pgvector有効化を別ステップに分離してbootcamp_stagingに接続
komagata Jan 30, 2026
c7880c0
slimのlint違反を修正
machida Jan 30, 2026
dc13e41
rubocopの違反を修正
komagata Jan 30, 2026
21402c1
ステージング環境のpgvectorとマイグレーション状態を確認するデバッグ情報を追加
komagata Jan 30, 2026
874eceb
embeddingマイグレーションを自己完結的に修正
komagata Jan 30, 2026
5b7af68
Rakeタスクでembeddingカラムが不足時に直接追加
komagata Jan 30, 2026
051f349
動画機能の表示制御をフィーチャーフラグに変更
komagata Jan 31, 2026
f2c9da7
Merge pull request #9591 from fjordllc/feature/movie-feature-flag
komagata Jan 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 9 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,11 @@ jobs:
test:
docker:
- image: cimg/ruby:3.4.3-browsers
- image: pgvector/pgvector:pg14
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: ci_test
- image: cimg/postgres:14.4
resource_class: large
environment:
BUNDLE_JOBS: '3'
Expand Down Expand Up @@ -101,6 +101,14 @@ jobs:
- run:
name: Wait for DB
command: 'dockerize -wait tcp://localhost:5432 -timeout 1m'
- run:
name: Install PostgreSQL client
command: |
sudo apt-get update && sudo apt-get install -y postgresql-client
- run:
name: Enable pgvector extension
command: |
psql -h localhost -U postgres -d ci_test -c "CREATE EXTENSION IF NOT EXISTS vector;"
- run:
name: Database setup
command: 'bundle exec rails db:prepare'
Expand Down
111 changes: 77 additions & 34 deletions .cloudbuild/cloudbuild-staging.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@ steps:
- 'asia.gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA'
waitFor:
- Build
# Cloud Runサービスを削除してDB接続を切断
# Cloud SQLでは管理者権限がないためpg_terminate_backendが使えない
# サービスを削除することで接続を確実に切断し、Deployで再作成される
# Cloud Runサービスを削除してDB接続を切断し、Deployで再作成される
- id: StopCloudRun
name: gcr.io/google.com/cloudsdktool/cloud-sdk
entrypoint: bash
Expand Down Expand Up @@ -114,62 +112,107 @@ steps:
- DB_USER=$_DB_USER
- RAILS_MASTER_KEY=$_RAILS_MASTER_KEY
- APP_HOST_NAME=$_APP_HOST_NAME
# データベースを削除(リトライ付き)
# WaitForProxyの接続がCloud SQL Proxy経由で残っている場合があるため、
# 接続が切れるまでリトライする
- name: gcr.io/google.com/cloudsdktool/cloud-sdk
id: DeleteDB
# bootcamp_stagingへの接続を強制切断してからデータベースを削除
- id: DeleteDB
name: 'asia.gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA'
entrypoint: bash
args:
- '-c'
- |
set -euo pipefail
MAX_RETRIES=12
RETRY_DELAY=10

for i in $$(seq 1 $$MAX_RETRIES); do
echo "Attempt $$i/$$MAX_RETRIES: Deleting database bootcamp_staging..."
if gcloud sql databases delete bootcamp_staging --instance=bootcamp --quiet 2>&1; then
echo "Database deleted successfully."
exit 0
else
if [ $$i -lt $$MAX_RETRIES ]; then
echo "Database delete failed (likely still has connections). Waiting $$RETRY_DELAY seconds before retry..."
sleep $$RETRY_DELAY
fi
fi
done
echo "Terminating all connections to bootcamp_staging..."
cat <<'SQLEOF' | bin/rails runner - 2>&1
result = ActiveRecord::Base.connection.execute(<<~SQL)
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = 'bootcamp_staging'
AND pid <> pg_backend_pid()
SQL
puts "Terminated #{result.count} connection(s)"
SQLEOF

echo "ERROR: Failed to delete database after $$MAX_RETRIES attempts."
exit 1
echo "Dropping database bootcamp_staging..."
cat <<'SQLEOF' | bin/rails runner - 2>&1
ActiveRecord::Base.connection.execute("DROP DATABASE IF EXISTS bootcamp_staging")
puts "Database dropped successfully"
SQLEOF
waitFor:
- WaitForProxy
volumes:
- name: db
path: /cloudsql
- name: gcr.io/google.com/cloudsdktool/cloud-sdk
env:
- RAILS_ENV=production
- DISABLE_DATABASE_ENVIRONMENT_CHECK=1
- DB_HOST=/cloudsql/$_CLOUD_SQL_HOST
- DB_NAME=postgres
- DB_PASS=$_DB_PASS
- DB_USER=$_DB_USER
- RAILS_MASTER_KEY=$_RAILS_MASTER_KEY
- APP_HOST_NAME=$_APP_HOST_NAME
- id: CreateDB
name: 'asia.gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA'
entrypoint: bash
args:
- sql
- databases
- create
- bootcamp_staging
- '--instance=bootcamp'
- '--quiet'
id: CreateDB
- '-c'
- |
set -euo pipefail

echo "Creating database bootcamp_staging..."
cat <<'SQLEOF' | bin/rails runner - 2>&1
ActiveRecord::Base.connection.execute("CREATE DATABASE bootcamp_staging")
puts "Database created successfully"
SQLEOF
waitFor:
- DeleteDB
entrypoint: gcloud
volumes:
- name: db
path: /cloudsql
env:
- RAILS_ENV=production
- DISABLE_DATABASE_ENVIRONMENT_CHECK=1
- DB_HOST=/cloudsql/$_CLOUD_SQL_HOST
- DB_NAME=postgres
- DB_PASS=$_DB_PASS
- DB_USER=$_DB_USER
- RAILS_MASTER_KEY=$_RAILS_MASTER_KEY
- APP_HOST_NAME=$_APP_HOST_NAME
- id: EnablePgvector
name: 'asia.gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA'
entrypoint: bash
args:
- '-c'
- |
set -euo pipefail

echo "Enabling pgvector extension on bootcamp_staging..."
cat <<'SQLEOF' | bin/rails runner - 2>&1
ActiveRecord::Base.connection.execute("CREATE EXTENSION IF NOT EXISTS vector")
puts "pgvector extension enabled"
SQLEOF
waitFor:
- CreateDB
volumes:
- name: db
path: /cloudsql
env:
- RAILS_ENV=production
- DISABLE_DATABASE_ENVIRONMENT_CHECK=1
- DB_HOST=/cloudsql/$_CLOUD_SQL_HOST
- DB_NAME=$_DB_NAME
- DB_PASS=$_DB_PASS
- DB_USER=$_DB_USER
- RAILS_MASTER_KEY=$_RAILS_MASTER_KEY
- APP_HOST_NAME=$_APP_HOST_NAME
- id: DBMigrate
name: 'asia.gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA'
args:
- bin/rails
- db:migrate
- db:seed
waitFor:
- DeleteDB
- EnablePgvector
volumes:
- name: db
path: /cloudsql
Expand Down
4 changes: 4 additions & 0 deletions .cloudbuild/cloudbuild-task.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,12 @@ steps:
env:
- 'RAILS_ENV=production'
- 'RAILS_MASTER_KEY=$_RAILS_MASTER_KEY'
- 'APP_HOST_NAME=$_APP_HOST_NAME'
- 'DB_HOST=/cloudsql/$_CLOUD_SQL_HOST'
- 'DB_NAME=$_DB_NAME'
- 'DB_PASS=$_DB_PASS'
- 'DB_USER=$_DB_USER'
- 'OPEN_AI_ACCESS_TOKEN=$_OPEN_AI_ACCESS_TOKEN'
- id: Kill_SqlProxy
name: "gcr.io/cloud-builders/docker"
waitFor: ["Task"]
Expand All @@ -40,10 +42,12 @@ images: ['asia.gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA']
options:
substitutionOption: ALLOW_LOOSE
substitutions:
_APP_HOST_NAME: _
_CLOUD_SQL_HOST: _
_DB_NAME: _
_DB_PASS: _
_DB_USER: _
_OPEN_AI_ACCESS_TOKEN: _
_RAILS_MASTER_KEY: _
tags:
- gcp-cloud-build-task
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ vendor/bundle/
/public/assets
/public/packs
/public/packs-test
/app/assets/builds/*
!/app/assets/builds/.gitkeep

/public/system
yarn-debug.log*
Expand Down
4 changes: 4 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ gem 'puma', '>= 5.0'
gem 'rails', '8.1.1'
gem 'shakapacker', '~> 9.0'
gem 'sprockets-rails', '>= 2.0.0'
gem 'tailwindcss-rails', '~> 4.0'

# not default
gem 'abstract_notifier', '~> 0.3.2'
Expand Down Expand Up @@ -50,6 +51,7 @@ gem 'meta-tags'
gem 'mini_magick'
gem 'mission_control-jobs'
gem 'mutex_m', '0.1.1'
gem 'neighbor'
gem 'net-imap', require: false
gem 'net-pop', require: false
gem 'net-smtp', require: false # TODO: Remove it if you use rails 7.0.1
Expand All @@ -70,12 +72,14 @@ gem 'rails_autolink'
gem 'rails-i18n'
gem 'rails-patterns', '~> 0.2'
gem 'ransack', '~> 4.3'
gem 'solid_cache'
gem 'solid_queue'
# TODO: connection_pool互換性が修正された安定版リリース後にgem版に戻す
gem 'react-rails', github: 'reactjs/react-rails', ref: '224d03b8e04b95e4d16197fc6ecf75601543154a'
gem 'recaptcha', '~> 5.12'
gem 'rollbar'
gem 'rss'
gem 'ruby_llm'
gem 'ruby-openai'
gem 'rubyzip'
gem 'slim-rails'
Expand Down
53 changes: 52 additions & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,8 @@ GEM
net-http (~> 0.5)
faraday-retry (2.4.0)
faraday (~> 2.0)
ffi (1.17.1-arm64-darwin)
ffi (1.17.1-x86_64-darwin)
ffi (1.17.1-x86_64-linux-gnu)
foreman (0.90.0)
thor (~> 1.4)
Expand Down Expand Up @@ -268,6 +270,15 @@ GEM
google-id-token (1.4.2)
jwt (>= 1)
google-logging-utils (0.2.0)
google-protobuf (4.33.3)
bigdecimal
rake (>= 13)
google-protobuf (4.33.3-arm64-darwin)
bigdecimal
rake (>= 13)
google-protobuf (4.33.3-x86_64-darwin)
bigdecimal
rake (>= 13)
google-protobuf (4.33.3-x86_64-linux-gnu)
bigdecimal
rake (>= 13)
Expand All @@ -285,6 +296,15 @@ GEM
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
grpc (1.76.0)
google-protobuf (>= 3.25, < 5.0)
googleapis-common-protos-types (~> 1.0)
grpc (1.76.0-arm64-darwin)
google-protobuf (>= 3.25, < 5.0)
googleapis-common-protos-types (~> 1.0)
grpc (1.76.0-x86_64-darwin)
google-protobuf (>= 3.25, < 5.0)
googleapis-common-protos-types (~> 1.0)
grpc (1.76.0-x86_64-linux-gnu)
google-protobuf (>= 3.25, < 5.0)
googleapis-common-protos-types (~> 1.0)
Expand Down Expand Up @@ -407,6 +427,8 @@ GEM
bigdecimal (>= 3.1, < 5)
multipart-post (2.4.1)
mutex_m (0.1.1)
neighbor (0.6.0)
activerecord (>= 7.1)
net-http (0.9.1)
uri (>= 0.11.1)
net-imap (0.6.2)
Expand All @@ -421,6 +443,10 @@ GEM
netrc (0.11.0)
newspaper (0.2.0)
nio4r (2.7.5)
nokogiri (1.19.0-arm64-darwin)
racc (~> 1.4)
nokogiri (1.19.0-x86_64-darwin)
racc (~> 1.4)
nokogiri (1.19.0-x86_64-linux-gnu)
racc (~> 1.4)
oauth (1.1.3)
Expand Down Expand Up @@ -625,6 +651,17 @@ GEM
ffi (~> 1.12)
logger
ruby2_keywords (0.0.5)
ruby_llm (1.11.0)
base64
event_stream_parser (~> 1)
faraday (>= 1.10.0)
faraday-multipart (>= 1)
faraday-net_http (>= 1)
faraday-retry (>= 1)
marcel (~> 1.0)
ruby_llm-schema (~> 0.2.1)
zeitwerk (~> 2)
ruby_llm-schema (0.2.5)
rubyzip (3.2.2)
securerandom (0.4.1)
selenium-webdriver (4.39.0)
Expand Down Expand Up @@ -659,6 +696,10 @@ GEM
snaky_hash (2.0.3)
hashie (>= 0.1.0, < 6)
version_gem (>= 1.1.8, < 3)
solid_cache (1.0.10)
activejob (>= 7.2)
activerecord (>= 7.2)
railties (>= 7.2)
solid_queue (1.3.0)
activejob (>= 7.1)
activerecord (>= 7.1)
Expand Down Expand Up @@ -687,6 +728,12 @@ GEM
stripe (18.1.0)
switchlet (0.3.1)
rails (>= 6.1)
tailwindcss-rails (4.4.0)
railties (>= 7.0.0)
tailwindcss-ruby (~> 4.0)
tailwindcss-ruby (4.1.18-arm64-darwin)
tailwindcss-ruby (4.1.18-x86_64-darwin)
tailwindcss-ruby (4.1.18-x86_64-linux-gnu)
temple (0.10.4)
thor (1.5.0)
thread_safe (0.3.6)
Expand Down Expand Up @@ -744,8 +791,8 @@ GEM
zeitwerk (2.7.4)

PLATFORMS
universal-darwin
x86_64-linux
x86_64-linux-gnu

DEPENDENCIES
abstract_notifier (~> 0.3.2)
Expand Down Expand Up @@ -799,6 +846,7 @@ DEPENDENCIES
minitest-stub_any_instance
mission_control-jobs
mutex_m (= 0.1.1)
neighbor
net-imap
net-pop
net-smtp
Expand Down Expand Up @@ -835,11 +883,13 @@ DEPENDENCIES
rubocop-performance
rubocop-rails
ruby-openai
ruby_llm
rubyzip
selenium-webdriver
shakapacker (~> 9.0)
slim-rails
slim_lint
solid_cache
solid_queue
sorcery (~> 0.16.2)
sorcery-jwt
Expand All @@ -848,6 +898,7 @@ DEPENDENCIES
stripe
stripe-i18n!
switchlet
tailwindcss-rails (~> 4.0)
traceroute
tzinfo (~> 2.0, >= 2.0.6)
vcr
Expand Down
1 change: 1 addition & 0 deletions Procfile.dev
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
rails: rails s -b 0.0.0.0 -p 3000
webpacker: ./bin/shakapacker-dev-server
css: bin/rails tailwindcss:watch
1 change: 1 addition & 0 deletions app/assets/config/manifest.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
//= link_tree ../images
//= link_directory ../javascripts .js
//= link_directory ../builds .css
Loading
Loading