Skip to content

コントリビューション

Potatoアノテーションツールへの貢献方法。

Potatoへのコントリビューション

Potatoは完全にオープンソースであり、コミュニティからの貢献を歓迎しています。このガイドでは、効果的に貢献する方法を説明します。

はじめに

前提条件

  • Python 3.8以上
  • Git
  • GitHubアカウント

開発環境のセットアップ

  1. リポジトリをフォークする(GitHub上で)

  2. フォークをクローンする:

    bash
    git clone https://github.com/YOUR_USERNAME/potato.git
    cd potato
  3. 依存関係をインストールする:

    bash
    pip install -r requirements.txt
    pip install -r requirements-test.txt  # For running tests
  4. テストを実行してすべてが正常に動作することを確認する:

    bash
    pytest

貢献の方法

バグの報告

バグを見つけましたか?以下の情報を含めてIssue を作成してください:

  • 明確で説明的なタイトル
  • 問題を再現する手順
  • 期待される動作と実際の動作
  • 環境情報(Pythonバージョン、OS、関連するブラウザ)
  • エラーメッセージやログ(利用可能な場合)

機能の提案

改善のアイデアがありますか?以下を含めて機能リクエストを作成してください:

  • 解決しようとしている問題
  • 提案するソリューション
  • 他のユーザーにとっての利点

コードの提出

  1. 変更用のブランチを作成する:

    bash
    git checkout -b feature/your-feature-name
  2. コーディング規約に従って変更を加える

  3. 新しい機能に対してテストを書く

  4. テストスイートを実行する:

    bash
    pytest tests/unit/ -v      # Fast unit tests
    pytest tests/server/ -v    # Integration tests
  5. 説明的なメッセージで変更をコミットする:

    bash
    git commit -m "Add feature: brief description of changes"
  6. フォークにプッシュする:

    bash
    git push origin feature/your-feature-name
  7. GitHub上でプルリクエストを作成する

コーディング規約

Pythonスタイル

  • PEP 8スタイルガイドラインに従う
  • 意味のある変数名と関数名を使用する
  • パブリック関数とクラスにdocstringを追加する
  • 関数は焦点を絞り、適切なサイズに保つ

ドキュメント

機能を追加または変更する場合:

  1. docs/ディレクトリの関連ドキュメントを更新する
  2. project-hub/simple_examples/設定例を追加または更新する
  3. 複雑なロジックにはインラインコメントを含める

テスト

  • 新機能やバグ修正にはテストを書く
  • ユニットテストはtests/unit/に配置する
  • 統合テストはtests/server/に配置する
  • PRを提出する前にすべてのテストが通ることを確認する

ドキュメントガイドライン

すべての主要な機能には以下を含める必要があります:

  1. 管理者ドキュメントdocs/):

    • 設定オプションとデフォルト値
    • YAMLの例
    • トラブルシューティングのヒント
  2. サンプルプロジェクトproject-hub/simple_examples/):

    • 動作する設定ファイル
    • サンプルデータファイル
    • 複雑な場合はREADME

ドキュメントスタイル

  • 適切なYAML構文を使用する(JSON形式ではなく)
  • 完全で実行可能な例を含める
  • 関連するドキュメントを相互参照する
  • UI機能にはスクリーンショットを追加する

プルリクエストガイドライン

提出前の確認

  • テストがローカルで通る(pytest
  • コードがプロジェクトのスタイルに従っている
  • ドキュメントが更新されている
  • コミットメッセージが明確である
  • ブランチがmainと最新の状態である

PRの説明

以下を含めてください:

  • PRの内容
  • 変更が必要な理由
  • 変更のテスト方法
  • UI変更のスクリーンショット

開発ロードマップ

現在の開発優先事項:

  1. UI/UXの改善強化
  2. 追加のアノテーションスキーマタイプ
  3. AI統合オプションの改善
  4. パフォーマンスの最適化
  5. ドキュメントの改善

ヘルプの入手先

行動規範

すべてのやり取りにおいて、敬意を持ち建設的であることをお願いします。私たちはみなPotatoをより良くするためにここにいます。

ライセンス

Potatoに貢献することにより、あなたの貢献がプロジェクトの既存のライセンスの下でライセンスされることに同意するものとします。


Potatoへのコントリビューションありがとうございます!

詳細については、ソースドキュメントを参照してください。