エージェントが従う、妥協のない Ruby エンジニアリング基準。
ハウスの土台を備えた Ruby/Rails バックエンド:秘密は bundle の外、パラメータ化された ActiveRecord、strong params、サーバーサイドの auth、別アプリとしての IAM、そしてコンパイラが与えない安全性を担保するテスト。
$ schematize install ruby譲れない基準
「速くするため」に無効化しない。完全な一覧はスキルに。
Ruby は fit + ADR で
認可された一覧の言語で、fit + ADR により選ぶ(プロトタイピング、スクリプト、Rails プロダクトの DX)。一覧外のバックエンドも fit の ADR なしも禁止。
秘密は bundle の外
コード、Gemfile、配信 asset には絶対に置かない。フロントの NEXT_PUBLIC_/VITE_ にも置かない。Rails credentials / ENV / secret manager 経由のみ。
パラメータ化された ActiveRecord
SQL の補間なし;mass-assignment 対策の strong params;token には SecureRandom;YAML.safe_load;input 起点の eval/send なし。
サーバー側の auth、IAM は分離
tenant_id/role は検証済みトークン由来(JWT 全体、alg=none なし)。Auth は auth.<domain> の別 Ruby アプリ — Devise 単体はハウスの IAM ではない。
テストが安全性を担保
Ruby の動的性にはコンパイラがない;RSpec/Minitest + RBS/Sorbet が NoMethodError/typo を捕まえる。CI を通すためにテストを黙らせない。
引き締まったコード + archive
ファイルは ≤750 行(有効 >300 で flag)、1 ファイル 1 クラス、YARD doc、frozen_string_literal。MAP と archive は毎回生成。
コマンド
.claude/commands/ にインストール。いつでも /ruby-help を実行。
/ruby-helpすべてのコマンドを一覧表示。/ruby-load規範全体を強制読み込みし、適用を開始。/ruby-claudeルートの CLAUDE.md をスキルの現行版で作成/更新(上書き)。/ruby-ccContext compact:context.md + checklist.md を archive に書き出し、/compact を実行。/ruby-handoffコンパクトせずに handoff を作成 — セッション終了やタスク切り替え。/ruby-qaプランファースト QA:計画し、MD を生成し、承認を求めてから実行。/ruby-reviewdiff に DoD とアンチパターンのゲート:ファイル >750 でブロック、有効 >300 で flag、YARD なしのメソッド、補間 SQL、token に rand、索引。/ruby-iamIAM(ID≠email、2 要素以上、マルチテナント ReBAC、不可逆ログアウト)を auth.<domain> の別 Ruby アプリとして強制/監査/scaffold、またはレガシー auth を移植。/ruby-indexYARD の doc-comment からマイクロ関数の索引を(再)生成。/ruby-ops<project>_ops(唯一の窓口)を監査/scaffold:環境フロー、並列インストール(nproc)、独立性。AI エージェント向け
人手を介さずにインストール。メタデータは llms.txt。
- 実行: git clone https://github.com/schematizeme/skill-ruby.git && ./skill-ruby/install.sh
- またはダウンロード: https://github.com/schematizeme/skill-ruby/releases/latest/download/skill-ruby.zip を .claude/skills/ に展開
- assets/CLAUDE.md をリポジトリのルートにコピー(常時オンのルール)。
- /ruby-help で確認。
ディスカッション
読み込み中…