ハッカソンの開発方法についてのガイドラインです。 わからないことがあれば、いつでも気軽に質問してください。
- このプロジェクトは issue ドリブン開発 を基本とします。
- 何か作業を始めたいと思ったら、まずは issue を確認することから始めましょう。
- issue を立てる or 見つける
- ブランチを作成する
- 実装・開発
- コミットする
- プルリクエストを作成する
- マージする
issue がどのような種類のタスクであるかを示します。
| 名前 | 用途 | 具体例 |
|---|---|---|
| type: epic | 複数のサブタスクを持ち、他の issue を束ねる目的 | 画面設計とデザイン |
| type: enhancement | 新機能の追加や、既存機能の改善提案 | CSV エクスポート機能の追加 |
| type: bug | 機能が設計通りに動作しない、不具合を報告 | ログインボタンをクリックしても反応しない |
| type: refactoring | ユーザーからの動作は変えない、コードの品質向上 | コンポーネントの責務を分割して見通しを良くする |
| type: chore | ビルド/設定/CI 等の保守 | Lint 設定の更新、スクリプト整備 |
| type: dependencies | 依存関係の更新(Dependabot 等) | ライブラリ/Go モジュール/GitHub Actions の更新 |
issue がどの領域に関連するかを示します。
| 名前 | 用途 | 具体例 |
|---|---|---|
| area: frontend | フロントエンドに関連 | ユーザー登録フォームのデザイン調整 |
| area: backend | バックエンドに関連 | 新しい API エンドポイントの作成 |
| area: design | UI 等に関連 | 新しい管理画面の UI デザイン作成 |
| area: docs | ドキュメント関連 | API 仕様書の更新 |
| area: infra | 開発や本番環境のインフラ関連 | CI/CD の設定 |
issue にどれだけ迅速に対応する必要があるかを示します。
| 名前 | 用途 | 具体例 |
|---|---|---|
| priority: critical | 最優先で対応すべき | 重大なセキュリティの問題 |
| priority: must | これがないとリリースできない | ユーザー登録機能が動作しない不具合 |
| priority: should | 品質向上のために対応が推奨 | 表示速度がかなり遅い問題の改善 |
| priority: could | 必須ではない | よりかっこいいデザイン |
issue を進める上で必要なアクションを示します。
| 名前 | 用途 | 具体例 |
|---|---|---|
| need: attention | 影響範囲が広く繊細で、慎重な作業やレビューが必要 | 本番データベースの構造を変更 |
| need: discussion | 仕様や実装方針について、チームでの議論が必要 | 新しいデータベース構造の決定 |
| need: expert help | 難易度が高く有識者の助けが必要 | パフォーマンスに関する根本的な解決策がわからない |
| need: info | 報告や再現条件に追加情報が必要 | 環境情報が不足している、再現手順が曖昧、設計判断に必要なデータが不足 |
issue の現在の状態を示します(issue に限らない課題も含む)。
| 名前 | 用途 | 具体例 |
|---|---|---|
| status: blocked | 外部要因や他の issue 依存で進められない状態 | API 障害対応待ち、依存する issue の完了待ち、顧客確認待ち |
| status: invalid | 無効と判断された状態 | 再現できない、仕様通りの挙動を誤報したケース、入力ミスなど |
| status: stale | 長期間更新がなく停滞している状態 | 数週間以上更新や議論がないケース |
- 自動付与:
type: dependenciesと、該当するarea:*を付与します。 - マッピング:
- gomod(/backend):
area: backend - npm(/frontend):
area: frontend - docker(/backend):
area: infra - github-actions(/):
area: infra
- gomod(/backend):
- 補足: Dependabot のコミットメッセージ接頭辞は
choreです。 - グルーピング: npm と GitHub Actions は依存更新をグループ化する設定です(dependabot.yml 参照)。
- なるべく小さな単位でコミットを行いましょう。
- 後からコミットを打ち消したりする操作がしやすくなります。
{接頭辞}: {変更内容の要約}- 補足が必要な場合は、3 行目から書いてください
- 日本語でも英語でも構いませんが、英語の方が良いです
feat: ユーザー登録機能を追加
(ブランチのfeatureと混同しないように。)
fix: ログイン時に発生する軽微なバグを修正
ログインフォームのバリデーションを強化で対応
(必ず2 行目は空行にすること。)
| 接頭辞 | 意味 | 用途や具体例 |
|---|---|---|
feat: |
機能の追加 | feat: Added user registration function |
fix: |
バグの修正 | fix: フォームが送信できない問題を修正 |
refactor: |
リファクタリング | refactor: データベースクエリの最適化 |
docs: |
ドキュメントの修正 | docs: update README.md |
chore: |
ビルドや設定ファイルの変更 | chore: ライブラリのバージョンアップ |
assets: |
アセットの追加・変更 | assets: 新しいロゴ画像を追加 |
ci: |
CI/CD 設定の変更 | ci: GitHub Actions の設定を追加 |
{接頭辞}/{issue番号}-{ブランチの目的を英語で}- 日本語は使わないでください
{ブランチの目的を英語で}は、小文字の英語と数字ハイフンのみ使えます。- (ルールに従っていない場合、ブランチの公開が拒否されます。)
feature/12-user-registration
(コミットのfeatと混同しないように。)
fix/25-login-form-bug
| 接頭辞 | 意味 | 具体例 |
|---|---|---|
feature/ |
新機能の開発 | feature/12-user-registration |
fix/ |
バグの修正 | fix/25-login-form-bug |
refactor/ |
リファクタリング | refactor/31-optimize-database-query |
docs/ |
ドキュメントの修正 | docs/5-update-readme |
chore/ |
ビルドや設定ファイルの変更 | chore/18-update-dependencies |
assets/ |
アセットの追加・変更 | assets/9-add-new-icons |