Rails Flow Mapへの貢献に興味を持っていただきありがとうございます!このツールをさらに良くするため、コミュニティからの貢献を歓迎します。
このプロジェクトに参加することで、以下の行動規範に従うことに同意したものとします:
- 敬意を持って包括的に接する
- 新規参加者を歓迎し、開始を支援する
- 建設的な批判に焦点を当てる
- フィードバックを優雅に受け入れる
- コミュニティの最善の利益を優先する
- GitHubでリポジトリをフォーク
- フォークをローカルにクローン
- 開発環境をセットアップ
- 変更用のブランチを作成
- 変更を加えてテスト
- プルリクエストを提出
バグレポートを作成する前に、重複を避けるため既存のイシューを確認してください。バグレポートを作成する際は以下を含めてください:
- 明確で説明的なタイトル
- 動作を再現する手順
- 期待される動作と実際の動作
- 該当する場合はスクリーンショット
- 環境の詳細(Rubyバージョン、Railsバージョン、OS)
機能提案は歓迎します!以下を提供してください:
- 明確で説明的なタイトル
- 提案機能の詳細な説明
- ユースケースと例
- 検討した代替ソリューション
good-first-issueまたはhelp-wantedラベルの付いたイシューを探してください。これらは新規貢献者にとって良い出発点です。
-
フォークとクローン
git clone https://github.com/your-username/rails-flow-map.git cd rails-flow-map -
依存関係のインストール
bundle install
-
機能ブランチの作成
git checkout -b feature/your-feature-name
-
変更の実施
- クリーンで読みやすいコードを書く
- 新機能にはテストを追加
- 必要に応じてドキュメントを更新
-
テストの実行
bundle exec rspec -
変更のコミット
git add . git commit -m "説明的なコミットメッセージを追加"
- Ruby 2.7.0以上
- Bundler
- Git
-
依存関係のインストール
bundle install
-
テストの実行
bundle exec rspec -
リンターの実行
bundle exec rubocop -
サンプル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-
ドキュメントの更新
- 必要に応じてREADMEを更新
- コードコメントを追加/更新
- CHANGELOG.mdを更新
-
品質の確保
- すべてのテストがパス
- コードがスタイルガイドに従う
- リントエラーなし
-
プルリクエストの作成
- 明確で説明的なタイトルを使用
- 関連するイシューを参照
- 何を変更したか、なぜ変更したかを説明
- UI変更の場合はスクリーンショットを含める
## 説明
変更の簡単な説明
## 変更の種類
- [ ] バグ修正
- [ ] 新機能
- [ ] ドキュメント更新
- [ ] パフォーマンス改善
## テスト
- [ ] すべてのテストがパス
- [ ] 新しいテストを追加
- [ ] 手動でテスト済み
## チェックリスト
- [ ] コードがスタイルガイドに従う
- [ ] 自己レビュー済み
- [ ] ドキュメントを更新
- [ ] 新しい警告なしいくつかの変更を加えた標準的なRubyスタイルガイドに従います:
- インデントには2スペースを使用
- 可能な限り行を80文字に制限
- 説明的な変数名とメソッド名を使用
- 複数行ブロックには
do...endを使用
- 現在形を使用("Added feature"ではなく"Add feature")
- 命令形を使用("Moves cursor to..."ではなく"Move cursor to...")
- 最初の行を72文字に制限
- イシューとプルリクエストを参照
例:
モデル関連アナライザーを追加
- has_many関係の検出を実装
- through関連のサポートを追加
- ポリモーフィック関連の処理を含む
Fixes #123
- 明確で簡潔な言語を使用
- コード例を含める
- READMEセクションを整理
- ユーザー向けの変更にはCHANGELOG.mdを更新
- バグと機能のためのGitHubイシュー
- 質問とアイデアのためのGitHubディスカッション
- コード貢献のためのプルリクエスト
貢献者は以下で認識されます:
- プロジェクトREADME
- リリースノート
- 貢献者ページ
貢献することで、あなたの貢献がMITライセンスの下でライセンスされることに同意したものとします。
Rails Flow Mapへの貢献ありがとうございます!あなたの努力により、すべての人のRails開発がより良くなります。🚀