Skip to content

Latest commit

 

History

History
268 lines (195 loc) · 6.87 KB

File metadata and controls

268 lines (195 loc) · 6.87 KB

Rails Flow Mapへの貢献

Rails Flow Mapへの貢献に興味を持っていただきありがとうございます!このツールをさらに良くするため、コミュニティからの貢献を歓迎します。

目次

行動規範

このプロジェクトに参加することで、以下の行動規範に従うことに同意したものとします:

  • 敬意を持って包括的に接する
  • 新規参加者を歓迎し、開始を支援する
  • 建設的な批判に焦点を当てる
  • フィードバックを優雅に受け入れる
  • コミュニティの最善の利益を優先する

はじめに

  1. GitHubでリポジトリをフォーク
  2. フォークをローカルにクローン
  3. 開発環境をセットアップ
  4. 変更用のブランチを作成
  5. 変更を加えてテスト
  6. プルリクエストを提出

貢献方法

バグの報告

バグレポートを作成する前に、重複を避けるため既存のイシューを確認してください。バグレポートを作成する際は以下を含めてください:

  • 明確で説明的なタイトル
  • 動作を再現する手順
  • 期待される動作と実際の動作
  • 該当する場合はスクリーンショット
  • 環境の詳細(Rubyバージョン、Railsバージョン、OS)

機能の提案

機能提案は歓迎します!以下を提供してください:

  • 明確で説明的なタイトル
  • 提案機能の詳細な説明
  • ユースケースと例
  • 検討した代替ソリューション

コードの貢献

初回貢献者

good-first-issueまたはhelp-wantedラベルの付いたイシューを探してください。これらは新規貢献者にとって良い出発点です。

開発プロセス

  1. フォークとクローン

    git clone https://github.com/your-username/rails-flow-map.git
    cd rails-flow-map
  2. 依存関係のインストール

    bundle install
  3. 機能ブランチの作成

    git checkout -b feature/your-feature-name
  4. 変更の実施

    • クリーンで読みやすいコードを書く
    • 新機能にはテストを追加
    • 必要に応じてドキュメントを更新
  5. テストの実行

    bundle exec rspec
  6. 変更のコミット

    git add .
    git commit -m "説明的なコミットメッセージを追加"

開発環境のセットアップ

前提条件

  • Ruby 2.7.0以上
  • Bundler
  • Git

ローカル開発

  1. 依存関係のインストール

    bundle install
  2. テストの実行

    bundle exec rspec
  3. リンターの実行

    bundle exec rubocop
  4. サンプルRailsアプリでのテスト

    cd blog_sample
    bundle install
    bundle exec rails flow_map:generate

テスト

テストの実行

# すべてのテストを実行
bundle exec rspec

# 特定のテストファイルを実行
bundle exec rspec spec/rails_flow_map/analyzers/model_analyzer_spec.rb

# カバレッジ付きで実行
COVERAGE=true bundle exec rspec

テストの記述

  • すべての新機能にテストを記述
  • テストカバレッジ90%以上を維持
  • RSpecのベストプラクティスに従う
  • 説明的なテスト名を使用

例:

RSpec.describe RailsFlowMap::Analyzers::ModelAnalyzer do
  describe '#analyze' do
    it 'has_many関連を検出する' do
      # テストの実装
    end
  end
end

変更の提出

プルリクエストのプロセス

  1. ドキュメントの更新

    • 必要に応じてREADMEを更新
    • コードコメントを追加/更新
    • CHANGELOG.mdを更新
  2. 品質の確保

    • すべてのテストがパス
    • コードがスタイルガイドに従う
    • リントエラーなし
  3. プルリクエストの作成

    • 明確で説明的なタイトルを使用
    • 関連するイシューを参照
    • 何を変更したか、なぜ変更したかを説明
    • UI変更の場合はスクリーンショットを含める

プルリクエストテンプレート

## 説明
変更の簡単な説明

## 変更の種類
- [ ] バグ修正
- [ ] 新機能
- [ ] ドキュメント更新
- [ ] パフォーマンス改善

## テスト
- [ ] すべてのテストがパス
- [ ] 新しいテストを追加
- [ ] 手動でテスト済み

## チェックリスト
- [ ] コードがスタイルガイドに従う
- [ ] 自己レビュー済み
- [ ] ドキュメントを更新
- [ ] 新しい警告なし

スタイルガイド

Rubyスタイルガイド

いくつかの変更を加えた標準的なRubyスタイルガイドに従います:

  • インデントには2スペースを使用
  • 可能な限り行を80文字に制限
  • 説明的な変数名とメソッド名を使用
  • 複数行ブロックにはdo...endを使用

Gitコミットメッセージ

  • 現在形を使用("Added feature"ではなく"Add feature")
  • 命令形を使用("Moves cursor to..."ではなく"Move cursor to...")
  • 最初の行を72文字に制限
  • イシューとプルリクエストを参照

例:

モデル関連アナライザーを追加

- has_many関係の検出を実装
- through関連のサポートを追加
- ポリモーフィック関連の処理を含む

Fixes #123

ドキュメントスタイル

  • 明確で簡潔な言語を使用
  • コード例を含める
  • READMEセクションを整理
  • ユーザー向けの変更にはCHANGELOG.mdを更新

コミュニティ

ヘルプの取得

コミュニケーションチャンネル

  • バグと機能のためのGitHubイシュー
  • 質問とアイデアのためのGitHubディスカッション
  • コード貢献のためのプルリクエスト

認識

貢献者は以下で認識されます:

ライセンス

貢献することで、あなたの貢献がMITライセンスの下でライセンスされることに同意したものとします。


Rails Flow Mapへの貢献ありがとうございます!あなたの努力により、すべての人のRails開発がより良くなります。🚀