# 📖 Contributing Guide ## 🎉 ようこそ! このプロジェクトへの関心と貢献に感謝します!あなたの貢献は、このプロジェクトを改善し、コミュニティを成長させるのに大いに役立ちます。このガイドは、プロジェクトへの貢献をスムーズに進めるためのものです。 ## 📚 概要 このガイドでは、リポジトリの構成、プルリクエストの作成方法、バグ報告の方法、およびコーディング規約について説明します。これらのガイドラインを理解し、遵守することで、あなたの貢献がプロジェクトにとって最大の価値を持つことができます。 ## 🏗️ リポジトリ構成 - 📂`/src`: Pythonソースコード。 主要な機能のコードが含まれています。 - 🧪`/test`: Pythonの単体テストコード。 各機能の正確さを確認するためのテストスクリプトが含まれています。 - 📜`/scripts`: 実行用スクリプト。 Jupyter NotebookとGradioの自動再読み込みスクリプトが含まれており、これらはアプリの実行とデバッグを容易にします。 - 🎨`/assets`: サンプル画像。 視覚的な要素を提供します。 - 📚`/docs`: ドキュメンテーション。 - `./CONTRIBUTING.md`: これは現在ご覧になっているドキュメントで、プロジェクトへの貢献方法について詳しく説明しています。新しいコントリビューターはここから始めることをお勧めします。 - `./ThirdPartyNotices.txt`:参考情報としてこのプロジェクトで使用している外部ライブラリのライセンス情報が記載されています。 - 📚`/.github`: GitHubの設定ファイルが格納されています。 - `/.github\ISSUE_TEMPLATE`: issueを作成する際のテンプレートが含まれています。これらのテンプレートは、issueを作成する際のフォーマットを提供し、必要な情報を整理するのに役立ちます。 - `/.github\workflows`: GitHub Actionsのワークフロー設定。 - `./codeql.yml`:コードのセキュリティ問題を自動的に検出します。 - `./deploy.yml`:プロジェクトのデプロイを自動化します。 - `./python-app.yml`:アプリケーションのコンパイルとflake8のコードチェックとテストコードを実行します。 - 📚`/.vscode`: vscodeの設定 アプリケーションの開発に適したVSCodeの設定情報が含まれています。これには、推奨される拡張機能、コードフォーマットの設定などが含まれています。 ## 🔀 プルリクエストについて - プルリクエストの派生元ブランチ main ブランチから派生させてプルリクエストを作成してください。 - プルリクエストのライセンス: プルリクエストを送信することで、あなたの貢献がリポジトリと同じMITライセンスに従うこと、そしてあなたの貢献が将来的にプロジェクトのライセンス変更に含まれる可能性があることに**ご理解とご協力**をお願いします。 ## 🐛 バグ報告 バグを見つけた場合は、まず[既存のissue](https://github.com/umyuu/SaliencyMapDemo/issues)を確認してください。 同じバグについてのissueが存在しない場合は、[新しいバグ報告](https://github.com/umyuu/SaliencyMapDemo/issues/new?assignees=&labels=bug&projects=&template=10-problem.yaml)を作成してください。 ## 📝 コーディング規約 - コードスタイル: このプロジェクトではPEP8に準拠し、コードチェックツールとしてflake8を採用しています。VSCodeを使用し開発すると拡張機能がレコメンドされます。拡張機能を導入して確認してください。 - 変数名: 変数名は明確で意味のある名前を使用してください。ローカル変数以外では一文字の変数名は避け、名前から変数の目的が理解できるようにしてください。 - ドキュメンテーション: 公開されるすべての関数やクラス、メソッドにはDocstringを追加してください。これにより、他の開発者がコードの目的と動作を理解しやすくなります。