クイックリファレンス

Packs Rubyモジュール化 チートシート

Packsクイックリファレンス:Rubyモジュラーモノリス向けパッケージ仕様、公開APIのカプセル化、依存関係境界の検証、Lintツール。

· 公開日

Packs は、大規模なRubyおよびRailsアプリケーションを独立したパッケージへ分割・整理するための拡張可能なパッケージング規格です。

パッケージの管理

# 新規packパッケージを作成
bin/packs create packs/profiles

# パッケージの公開APIファイルを指定
bin/packs make_public packs/profiles/app/services/create_profile_service.rb

# パッケージ間でファイルを移動
bin/packs move packs/billing packs/profiles/app/services/billing_service.rb

# パック間の依存関係宣言を追加
bin/packs add_dependency packs/orders packs/inventory

パッケージ境界の検証

PacksはPackwerkと連携し、循環依存やプライベートコードへの不正アクセスを防止します:

# 循環依存が存在しないことを検証
bin/packs validate

# プライバシーおよび依存関係違反をチェック
bin/packs check packs/profiles

# 既存の違反を package_todo.yml に記録(ベースライン化)
bin/packs update

Lintおよび違反監査

# package_todo.yml ファイルのフォーマットを検証
bin/packs lint_package_todo_yml_files

# package.yml 設定ファイルのフォーマットを検証
bin/packs lint_package_yml_files

# パック内の主な違反タイプを一覧表示
bin/packs list_top_violations dependency packs/profiles

参考資料

関連テーマ