Skip to content

Latest commit

 

History

History
161 lines (116 loc) · 8.78 KB

File metadata and controls

161 lines (116 loc) · 8.78 KB

CONTRIBUTING

ハッカソンの開発方法についてのガイドラインです。 わからないことがあれば、いつでも気軽に質問してください

開発の流れ

  • このプロジェクトは issue ドリブン開発 を基本とします。
  • 何か作業を始めたいと思ったら、まずは issue を確認することから始めましょう。

大まかな流れ

  1. issue を立てる or 見つける
  2. ブランチを作成する
  3. 実装・開発
  4. コミットする
  5. プルリクエストを作成する
  6. マージする

issue

issue ラベルの目的と使い方

type:

issue がどのような種類のタスクであるかを示します。

名前 用途 具体例
type: epic 複数のサブタスクを持ち、他の issue を束ねる目的 画面設計とデザイン
type: enhancement 新機能の追加や、既存機能の改善提案 CSV エクスポート機能の追加
type: bug 機能が設計通りに動作しない、不具合を報告 ログインボタンをクリックしても反応しない
type: refactoring ユーザーからの動作は変えない、コードの品質向上 コンポーネントの責務を分割して見通しを良くする
type: chore ビルド/設定/CI 等の保守 Lint 設定の更新、スクリプト整備
type: dependencies 依存関係の更新(Dependabot 等) ライブラリ/Go モジュール/GitHub Actions の更新

area:

issue がどの領域に関連するかを示します。

名前 用途 具体例
area: frontend フロントエンドに関連 ユーザー登録フォームのデザイン調整
area: backend バックエンドに関連 新しい API エンドポイントの作成
area: design UI 等に関連 新しい管理画面の UI デザイン作成
area: docs ドキュメント関連 API 仕様書の更新
area: infra 開発や本番環境のインフラ関連 CI/CD の設定

priority:

issue にどれだけ迅速に対応する必要があるかを示します。

名前 用途 具体例
priority: critical 最優先で対応すべき 重大なセキュリティの問題
priority: must これがないとリリースできない ユーザー登録機能が動作しない不具合
priority: should 品質向上のために対応が推奨 表示速度がかなり遅い問題の改善
priority: could 必須ではない よりかっこいいデザイン

need:

issue を進める上で必要なアクションを示します。

名前 用途 具体例
need: attention 影響範囲が広く繊細で、慎重な作業やレビューが必要 本番データベースの構造を変更
need: discussion 仕様や実装方針について、チームでの議論が必要 新しいデータベース構造の決定
need: expert help 難易度が高く有識者の助けが必要 パフォーマンスに関する根本的な解決策がわからない
need: info 報告や再現条件に追加情報が必要 環境情報が不足している、再現手順が曖昧、設計判断に必要なデータが不足

status:

issue の現在の状態を示します(issue に限らない課題も含む)。

名前 用途 具体例
status: blocked 外部要因や他の issue 依存で進められない状態 API 障害対応待ち、依存する issue の完了待ち、顧客確認待ち
status: invalid 無効と判断された状態 再現できない、仕様通りの挙動を誤報したケース、入力ミスなど
status: stale 長期間更新がなく停滞している状態 数週間以上更新や議論がないケース

Dependabot

  • 自動付与: type: dependencies と、該当する area:* を付与します。
  • マッピング:
    • gomod(/backend): area: backend
    • npm(/frontend): area: frontend
    • docker(/backend): area: infra
    • github-actions(/): area: infra
  • 補足: 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