開発者ガイド
目的
このセクションでは、RDEToolKitプロジェクトへの貢献方法と開発環境の構築について説明します。バグ修正、新機能の追加、ドキュメントの改善など、様々な形での貢献を歓迎します。
貢献の種類
コード貢献
- バグ修正: 既存の問題の解決
- 新機能開発: 機能追加と拡張
- パフォーマンス改善: 処理速度とメモリ使用量の最適化
- テストの追加: カバレッジの向上
ドキュメント貢献
- ドキュメントの改善: 既存ドキュメントの品質向上
- 翻訳: 多言語対応の拡充
- チュートリアルの作成: 学習リソースの充実
コミュニティ貢献
- バグ報告: 問題の発見と報告
- 機能要望: 新機能の提案
- 質問への回答: コミュニティサポート
開発環境の構築
前提条件
- Python: 3.9以上
- Git: バージョン管理
- Rye: パッケージ管理ツール
セットアップ手順
-
リポジトリのクローン
terminal 1 2
git clone https://github.com/nims-dpfc/rdetoolkit.git cd rdetoolkit
-
Ryeのインストール
terminal 1 2
curl -sSf https://rye-up.com/get | bash source ~/.rye/env
-
依存関係のインストール
terminal 1
rye sync
-
開発環境の有効化
terminal 1
source .venv/bin/activate
-
pre-commitの設定
terminal 1
pre-commit install
開発ワークフロー
ブランチ戦略
- main: 安定版のメインブランチ
- feature/: 新機能開発用ブランチ
- bugfix/: バグ修正用ブランチ
- docs/: ドキュメント更新用ブランチ
開発手順
- Issueの作成または確認
- 作業内容をGitHub Issuesで明確化
-
既存のIssueがあるか確認
-
ブランチの作成
terminal 1
git checkout -b feature/your-feature-name
-
開発とテスト
terminal 1 2 3 4 5 6 7 8 9
# コードの変更 # テストの実行 rye test # リントチェック rye lint # フォーマット rye fmt
-
コミットとプッシュ
terminal 1 2 3
git add . git commit -m "feat: add new feature description" git push origin feature/your-feature-name
-
プルリクエストの作成
- GitHub上でプルリクエストを作成
- 詳細な説明とテスト結果を記載
コーディング規約
Python スタイル
- PEP 8: Python標準のスタイルガイドに準拠
- 型ヒント: 全ての関数に型注釈を追加
- docstring: Google形式のdocstringを使用
example_function.py | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
テストの書き方
test_example.py | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
品質保証
自動チェック
- pre-commit: コミット前の自動チェック
- GitHub Actions: CI/CDパイプライン
- codecov: テストカバレッジの測定
チェック項目
- リント: flake8, pylint
- フォーマット: black, isort
- 型チェック: mypy
- テスト: pytest
- セキュリティ: bandit
リリースプロセス
バージョニング
セマンティックバージョニング(SemVer)を採用:
- MAJOR: 破壊的変更
- MINOR: 後方互換性のある機能追加
- PATCH: 後方互換性のあるバグ修正
リリース手順
- 変更ログの更新
- バージョン番号の更新
- タグの作成
- PyPIへの公開
- GitHub Releaseの作成
コミュニティガイドライン
コミュニケーション
- GitHub Issues: バグ報告と機能要望
- GitHub Discussions: 質問と議論
- Pull Request: コードレビューと議論
行動規範
- 尊重: 全ての参加者を尊重する
- 建設的: 建設的なフィードバックを提供する
- 協力的: チームワークを重視する
- 包括的: 多様性を歓迎する
次のステップ
開発に参加するには:
- コントリビューション - 詳細な貢献ガイドライン
- ドキュメント作成 - ドキュメント作成の方法
- GitHub Issues - 作業可能なタスクの確認
初回貢献者へ
初めて貢献する場合は、「good first issue」ラベルの付いたIssueから始めることをお勧めします。