このガイドラインは現在工事中です。
このドキュメントは、プロジェクトの開発ガイドラインを提供することを目的としています。
チームメンバー全員が効率的かつ一貫した方法で作業できるよう、以下のポリシーに従ってください。
新しい機能の提案やバグの報告は、Issues を通じて行います。新しい Issue は、各リポジトリのIssue Formから作成してください。
このプロジェクトでは、以下のブランチ戦略を採用しています。
main: デフォルトブランチ。本番環境にデプロイされるコードがマージされます。<issue-num>-<機能名>: 新機能の追加やバグの修正など、機能単位での作業を行うブランチ。
開発はこのブランチで行います。ブランチ名はkebab-caseで記述してください。
branch名の前には、作業する内容に紐づいたissueの番号を付けてください。 またブランチ名は、そのブランチで何を行うかを簡潔に表現するようにしてください。以下に例を示します。
11-add-camera-device27-fix-login-bug30-update-readme56-chore-update-dependencies
など
新しい機能の追加やバグの修正を行う場合、Pull Request(PR)を作成してください。
- ブランチを作成し、作業を行います。
- 作業が完了したら、
mainブランチに対して PR を作成します。 - PR のタイトルには、作業内容を簡潔に記述し、本文はテンプレートに従って記述してください。
- レビュワーを指定し、レビューを依頼します。全ての変更は、
CODEOWNERSによって、@KorRyu3 が自動的にレビュワーに指定されます。
PR作成後、指定したレビュワーによってコードの査読が行われます。課題が発見された場合には、記述修正の提案がおこなわれます。
修正が必要な場合は、修正を行い、再度レビューを依頼してください。
その後、レビュワーはコードの変更内容に問題がないと判断した場合、PR を承認します。
このプロジェクトでは、基本的に1名以上のレビュワーによる承認が必要です。
PR の Auto merge 設定は切ってあります。
main へのマージは、PRを出したレビュイーが責任を持って行ってください。
コミットメッセージは、Conventional Commitsの規約に従います。形式は以下の通りです:
<type>(optional <scope>): <description>
[optional <body>]
[optional <footer(s)>]typeは変更の種類を示し、以下のものを指定する必要があります:
feat: 新機能fix: バグ修正docs: ドキュメントのみの変更style: フォーマットの変更(コードの動作に影響しないスペース、フォーマット、セミコロンなど)refactor: リファクタリングのための変更(機能追加やバグ修正を含まない)perf: パフォーマンスの改善のための変更test: 不足テストの追加や既存テストの修正build: ビルドシステムや外部依存に関する変更(スコープ例: gulp, broccoli, npm)ci: CI用の設定やスクリプトに関する変更(スコープ例: GitHub Actions, Travis, Circle, BrowserStack)chore: その他の変更(ソースやテストの変更を含まない)revert: 以前のコミットに復帰
その他説明:
scopeは変更が影響を与える範囲です。(オプション)descriptionは変更内容を簡潔に説明します。bodyは変更内容の詳細を記述します。(オプション)footerは関連する Issue 番号や、破壊的変更がある場合に記述します。(オプション)
feat(login): ユーザーログイン機能を追加
ログイン API を実装し、セキュリティを強化しました。具体的には〜〜
BREAKING CHANGE: 新しい認証フローを導入したため、古い認証メソッドは削除されます。Pythonランタイムとパッケージのバージョン管理にはuvを使用しています。
コードのFormatter, Linterには、Ruffを使用しています。
VS Codeをメインで使っている方は、Ruffの拡張機能をインストールしてください。
Homebrew というパッケージ管理ツールを使用して uv をインストールします。
もし、Homebrew がインストールされていない場合は、Homebrew 公式サイトを参照してください。
brew install uv
# コマンド補完
echo 'eval "$(uv generate-shell-completion zsh)"' >> ~/.zshrc
exec "$SHELL"インストールするにはPowerShellの実行ポリシーを変えなければならないので、下記を管理者権限のPowerShellで実行してください。
PowerShell Set-ExecutionPolicy RemoteSigneduvのインストール
winget install --id astral-sh.uv --source wingetお家のWindowsでGPUを使って学習/推論させる人は、cuda 11.8, cuDNN 8.9.2.26, Visual C++ 2019 runtimeを事前にインストールしてください。
- cuda 11.8
- cuDNN 8.9.2.26
-> このサイトの"Download cuDNN v8.9.2 (June 1st, 2023), for CUDA 11.x"の"Local Installer for Windows (Zip)"をインストールする - Visual C++ 2019 runtime
-> このサイトのX86版をインストール
環境構築については、各リポジトリのREADMEを参照してください。