広聴AIへの貢献¶
広聴AIの改善にご協力いただきありがとうございます! 🎉
このドキュメントは、広聴AIプロジェクトにコードを貢献したい方のためのガイドラインです。バグを報告したり、機能リクエストを作成したり、コミュニティの一員として他のユーザーを支援するなど、貢献する方法は他にもあります。
このプロジェクトについて¶
- ブロードリスニングを実現するためのソフトウェア「広聴AI」PJのリポジトリです。
開発への参加方法について¶
- 本PJは、開発者の方からのコントリビュートを募集しています!ぜひ一緒に日本のデジタル民主主義を前に進めましょう!
- 開発に参加する方は、一般ユーザーと異なり、GitHubからリポジトリをクローンして作業します。
- プロジェクトについてのやりとりは、原則デジタル民主主義2030のSlackの「開発_広聴AI」チャンネルまでお願いします。
- コントリビュートにあたっては、本リポジトリのrootディレクトリにあるCLA.md(コントリビューターライセンス)へ同意が必要です。
- 同意する手順は、Pull Requestのテンプレートに記載があります。
- タスク管理はgithub projectsを利用しています。詳細はこちらを参照してください。
Issue管理とPull Requestについて¶
レビュアー向けのガイドラインはこちら
Issueの作成と参加¶
- Issueはどなたでも起票いただけます。ツール利用時に感じた改善点やバグについてぜひIssueを作成してください
- 解決されると自分に役立つIssueには👍リアクションを付けてください
- リアクションの件数はIssueの優先度を決める重要な指標となります
Issueへの着手¶
- 重複作業を避けるため、Issueに取り組む際はご自身をassigneeに指定してください
/assignコメントを記載するとIssueのassigneeとして登録されます- 権限の関係で一部のコントリビューターを除きアサイン機能が使えないため、このような運用をしています
- 割当解除には
/unassignコメントをご利用ください - 初めての貢献に適したタスクにはgood first issueラベルが付いています
コードの貢献プロセス¶
数行以上のコードを提供する場合は、実装に着手する前に以下のステップをお願いします: 1. 関連するIssueがない場合は、まず新たにIssueを作成してください 2. 実装計画を投稿し、メンテナや他の開発者からの賛同(リアクション)を得てから着手してください 1. 特に、軽微なバグやUIの修正ではなく、新機能の追加や大規模なアーキテクチャの変更を行う場合には、メンテナーのリアクションを得てから開発に着手してください 2. このプロセスは必須ではありません。ただし、コミュニティでは事前に合意が得られているPRを優先的に確認します。また、事前に合意が得られていない変更はマージされない可能性がある点をご理解ください。
このプロセスにより: - 同じ問題への重複した取り組みを防止できます - プロジェクトの方針と一致した実装となります - API、UI、アーキテクチャの変更が十分に検討されます
注意: 事前承認なしに新機能を追加するPRはマージされにくい傾向があります。新機能追加にはAPI設計や将来の保守など多くの負担が伴うためです。
コードのフォーマットについて¶
- コードをコミットする前に、コードのフォーマットを整えてください
apiについては、以下のコマンドでフォーマットのチェックと自動整形を実施できます- チェック:
make lint/api-check - 整形:
make lint/api-format
- チェック:
public-viewer/adminについては Biome で lint, format のチェックを実施できます- チェック:
pnpm run lint - 整形:
pnpm run format - Lefthook で git push 時に Biome のチェックをかける設定をしています
- プロジェクトルートの
lefthook-local.sample.ymlを参考に、lefthook-local.ymlを用意してください
- チェック:
Pull Requestのプロセス¶
- 最新の
mainブランチからフィーチャーブランチを作成してください - プルリクエストを作成し、変更の詳細を説明してください
- コードレビューを受け、必要に応じて変更を加えてください
- メンテナーのapproveを得ると、変更がマージされます
現在のメンテナー(2025/04/26時点)¶
上記のうち1名がapproveした場合にmainへのマージを行います。メンテナーは将来的に増やしていく予定です。
CLAへの同意¶
本リポジトリへのコントリビュートには、コントリビューターライセンス契約(CLA)に同意することが必須です。Pull Requestを提出する際に、テンプレートに従ってCLAへの同意を示してください。
困ったときは¶
質問や問題がある場合は、デジタル民主主義2030のSlackの「開発_広聴AI」チャンネルで質問してください。コミュニティのメンバーが喜んでお手伝いします。
ご貢献ありがとうございます!