Coding
PromptBeginner5 minmarkdown
Nano Banana Pro
Agent skill for nano-banana-pro
6
このファイルは、このリポジトリで作業する際にClaude Code (claude.ai/code) に提供されるガイダンスです。
Sign in to like and favorite skills
このファイルは、このリポジトリで作業する際にClaude Code (claude.ai/code) に提供されるガイダンスです。
**このプロジェクトでは日本語で対応してください。**すべての説明、コメント、コミットメッセージ、ドキュメントは日本語で記述します。
Misogiは、ファイルの内容を解析して、そのファイル名やディレクトリ配置が適切かをチェックするlintツールを提供するRuby gemです(現在、初期開発段階)。
コードの内容とファイルパスの整合性を保ち、プロジェクトの構造を整理された状態に保つことを目的としています。ファイル内で定義されているクラスやモジュールの名前空間と、実際のファイルパスが一致しているかを検証します。
標準的な Ruby gem の規約に従い、gem 管理には Bundler を使用しています。
# ヘルプを表示 ./exe/misogi --help # デフォルト設定でチェック(lib, app, spec配下のファイル) ./exe/misogi # 特定のファイルをチェック ./exe/misogi lib/foo.rb # ルールを指定してチェック ./exe/misogi --rules ruby_standard,rails,rspec # パターンを指定してチェック ./exe/misogi --pattern "lib/**/*.rb"
bin/setup
依存関係をインストールし、開発環境を準備します。
rake spec # すべてのテストを実行 bundle exec rspec # RSpecを直接実行 bundle exec rspec spec/path/to/file_spec.rb # 単一のテストファイルを実行
rake rubocop # RuboCopリンターを実行 bundle exec rubocop # RuboCopを直接実行 bundle exec rubocop -a # 違反を自動修正
rake # specとrubocopの両方を実行
bin/console # gemをロードした状態でIRBを起動
bundle exec rake install # gemをローカルにインストール bundle exec rake release # gitタグを作成してRubyGemsにプッシュ(バージョンアップが必要)
lib/misogi.rb - メインエントリーポイント、Misogiモジュールを定義lib/misogi/version.rb - gemのバージョン定数sig/misogi.rbs - 静的型チェック用のRBS型シグネチャspec/ - RSpecテストファイル.rspec_status)shouldシンタックスは使用しない)リリース前に
lib/misogi/version.rb でバージョンを更新してください。バージョンはセマンティックバージョニングに従います。
Misogiは、ファイルの内容を解析して、ファイル名やディレクトリ配置が適切かをチェックするlintツールです。様々なルールセット(Ruby一般、Rails、RSpecなど)に対応し、カスタムルールも定義できる拡張可能な設計を採用しています。
Misogi::Rule::Basevalidate(file_path, parsed_content)メソッドを実装Misogi::Violationオブジェクトとして返すMisogi::Parser::Rubyが基本的なRubyファイルの解析を担当Misogi::ParsedContentオブジェクトとして返すMisogi::Validatorがルールの実行とViolationの収集を担当.misogi.ymlでプロジェクト固有の設定を管理Misogi::Rule::RubyStandard: Ruby一般の規約(ファイル名とクラス名の対応)Misogi::Rule::Rails: Railsの規約(app/models、app/controllersなど)Misogi::Rule::RSpec: RSpecの規約(spec/ファイルパスとテスト対象の対応)Misogi::Rule::Baseを継承してカスタムルールを作成.misogi.ymlで外部ルールファイルを指定lib/ ├── misogi.rb # メインエントリーポイント ├── misogi/ │ ├── version.rb # バージョン定数 │ ├── violation.rb # 違反情報を保持するクラス │ ├── parsed_content.rb # パース結果を保持するクラス │ ├── configuration.rb # 設定を管理するクラス │ ├── parser/ │ │ ├── base.rb # パーサーの基底クラス │ │ └── ruby.rb # Rubyファイルのパーサー │ ├── rule/ │ │ ├── base.rb # ルールの基底クラス │ │ ├── ruby_standard.rb # Ruby一般の規約ルール │ │ ├── rails.rb # Railsの規約ルール │ │ └── rspec.rb # RSpecの規約ルール │ ├── validator.rb # バリデーション実行クラス │ └── cli.rb # コマンドラインインターフェース(将来実装)
# 有効にするルールセット rules: - ruby_standard - rails - rspec # カスタムルールのパス custom_rules: - lib/custom_rules/my_rule.rb # 除外パターン exclude: - vendor/**/* - tmp/**/* - db/migrate/**/*
Misogi::Rule::Base - ルールの基底クラスMisogi::Parser::Ruby - RubyファイルのパーサーMisogi::Validator - バリデーターMisogi::Rule::RubyStandard - Ruby一般ルールMisogi::Rule::Rails - RailsルールMisogi::Rule::RSpec - RSpecルールMisogi::Configuration - 設定管理