コントリビューション
Potatoアノテーションツールへの貢献方法。
Potatoへのコントリビューション
Potatoは完全にオープンソースであり、コミュニティからの貢献を歓迎しています。このガイドでは、効果的に貢献する方法を説明します。
はじめに
前提条件
- Python 3.8以上
- Git
- GitHubアカウント
開発環境のセットアップ
-
リポジトリをフォークする(GitHub上で)
-
フォークをクローンする:
bashgit clone https://github.com/YOUR_USERNAME/potato.git cd potato -
依存関係をインストールする:
bashpip install -r requirements.txt pip install -r requirements-test.txt # For running tests -
テストを実行してすべてが正常に動作することを確認する:
bashpytest
貢献の方法
バグの報告
バグを見つけましたか?以下の情報を含めてIssue を作成してください:
- 明確で説明的なタイトル
- 問題を再現する手順
- 期待される動作と実際の動作
- 環境情報(Pythonバージョン、OS、関連するブラウザ)
- エラーメッセージやログ(利用可能な場合)
機能の提案
改善のアイデアがありますか?以下を含めて機能リクエストを作成してください:
- 解決しようとしている問題
- 提案するソリューション
- 他のユーザーにとっての利点
コードの提出
-
変更用のブランチを作成する:
bashgit checkout -b feature/your-feature-name -
コーディング規約に従って変更を加える
-
新しい機能に対してテストを書く
-
テストスイートを実行する:
bashpytest tests/unit/ -v # Fast unit tests pytest tests/server/ -v # Integration tests -
説明的なメッセージで変更をコミットする:
bashgit commit -m "Add feature: brief description of changes" -
フォークにプッシュする:
bashgit push origin feature/your-feature-name -
GitHub上でプルリクエストを作成する
コーディング規約
Pythonスタイル
- PEP 8スタイルガイドラインに従う
- 意味のある変数名と関数名を使用する
- パブリック関数とクラスにdocstringを追加する
- 関数は焦点を絞り、適切なサイズに保つ
ドキュメント
機能を追加または変更する場合:
docs/ディレクトリの関連ドキュメントを更新するproject-hub/simple_examples/の設定例を追加または更新する- 複雑なロジックにはインラインコメントを含める
テスト
- 新機能やバグ修正にはテストを書く
- ユニットテストは
tests/unit/に配置する - 統合テストは
tests/server/に配置する - PRを提出する前にすべてのテストが通ることを確認する
ドキュメントガイドライン
すべての主要な機能には以下を含める必要があります:
-
管理者ドキュメント(
docs/):- 設定オプションとデフォルト値
- YAMLの例
- トラブルシューティングのヒント
-
サンプルプロジェクト(
project-hub/simple_examples/):- 動作する設定ファイル
- サンプルデータファイル
- 複雑な場合はREADME
ドキュメントスタイル
- 適切なYAML構文を使用する(JSON形式ではなく)
- 完全で実行可能な例を含める
- 関連するドキュメントを相互参照する
- UI機能にはスクリーンショットを追加する
プルリクエストガイドライン
提出前の確認
- テストがローカルで通る(
pytest) - コードがプロジェクトのスタイルに従っている
- ドキュメントが更新されている
- コミットメッセージが明確である
- ブランチがmainと最新の状態である
PRの説明
以下を含めてください:
- PRの内容
- 変更が必要な理由
- 変更のテスト方法
- UI変更のスクリーンショット
開発ロードマップ
現在の開発優先事項:
- UI/UXの改善強化
- 追加のアノテーションスキーマタイプ
- AI統合オプションの改善
- パフォーマンスの最適化
- ドキュメントの改善
ヘルプの入手先
- ドキュメント:Potato Docs
- Issue:GitHub Issues
- ディスカッション:GitHub Discussions
行動規範
すべてのやり取りにおいて、敬意を持ち建設的であることをお願いします。私たちはみなPotatoをより良くするためにここにいます。
ライセンス
Potatoに貢献することにより、あなたの貢献がプロジェクトの既存のライセンスの下でライセンスされることに同意するものとします。
Potatoへのコントリビューションありがとうございます!
詳細については、ソースドキュメントを参照してください。