From fc1a75eec12af6b1993ebc7c428f06289eac69fe Mon Sep 17 00:00:00 2001 From: marketing-shibata50 Date: Thu, 31 Jul 2025 21:59:10 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20MEMO.md=E3=81=ABConventional=20Commits?= =?UTF-8?q?=E3=81=AE=E8=A9=B3=E7=B4=B0=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - コミットメッセージの標準化に関する概要を記載 - 基本構造と主要なtypeの説明を追加 - 実例を通じて具体的な使用方法を示す - GitHub CopilotやCI/CDとの統合についても言及 --- FLOW.md | 296 ++++ GEMINI.md | 2322 ++++++++++++++++++++++++++++++ GitHub個人開発 最大効率化戦略.md | 2216 ++++++++++++++++++++++++++++ MEMO.md | 537 ++++++- leaked-system-prompts | 1 + worktree-vs-jj-comparison.md | 251 ++++ 6 files changed, 5622 insertions(+), 1 deletion(-) create mode 100644 FLOW.md create mode 100644 GEMINI.md create mode 100644 GitHub個人開発 最大効率化戦略.md create mode 160000 leaked-system-prompts create mode 100644 worktree-vs-jj-comparison.md diff --git a/FLOW.md b/FLOW.md new file mode 100644 index 0000000..b529756 --- /dev/null +++ b/FLOW.md @@ -0,0 +1,296 @@ +# GitHub Development Flow Guide + +このガイドは、Git worktreeを活用した効率的な開発フローをまとめたものです。 + +## 📋 基本的な開発フロー + +### 1. 新規開発の流れ + +#### 計画フェーズ +1. **リポジトリの作成**: GitHub上でプロジェクト用のリポジトリを作成 +2. **ブランチ戦略の決定**: + - `main`: リリース可能な安定版 + - `develop`: 開発統合用ブランチ +3. **仕様書の作成**: README.mdに「何を」「なぜ」「誰のために」を記載 +4. **タスクの洗い出しと分解**: 数時間〜1日で完了できるレベルまで細分化 +5. **全タスクのIssue化**: GitHub Issuesに登録し、Projectsボードで管理 + +#### 開発フェーズ +```bash +# 1. Issueの選択 +# GitHub ProjectsでIssueを「進行中」に移動 + +# 2. worktreeでブランチ作成 +git worktree add -b feature/11-login-ui ../login-ui-work develop +cd ../login-ui-work + +# 3. 開発作業 +# コーディング作業 + +# 4. コミット (Conventional Commits形式) +git add . +git commit -m "feat: ログインフォームのUIコンポーネントを作成 #11" + +# 5. プッシュ +git push origin feature/11-login-ui +``` + +#### レビュー&統合フェーズ +1. **プルリクエストの作成**: GitHub上でPRを作成(`Closes #11`を含める) +2. **自動テストの実行**: GitHub Actionsが自動でテストを実行 +3. **コードレビュー**: レビュアーがコードを確認 +4. **マージ**: テストとレビューが完了したらマージ +5. **後片付け**: + ```bash + cd ../my-project + git worktree remove ../login-ui-work + git branch -d feature/11-login-ui + git push origin --delete feature/11-login-ui + ``` + +### 2. 機能追加の流れ + +#### 計画フェーズ +1. **機能要件の明確化**: What(何を)、Why(なぜ)、How(どのように)を定義 +2. **Issueの作成**: 要件、技術的検討事項、受け入れ条件を記載 +3. **ラベルとプロジェクトボードへの追加**: `feature`ラベル、優先度設定 +4. **タスクの分解**: 大きな機能はサブタスクに分割 + +#### 開発フェーズ +```bash +# 1. 最新のdevelopを取得 +cd ../my-project +git checkout develop +git pull origin develop + +# 2. 機能用の作業場を作成 +git worktree add -b feature/24-comment ../comment-work develop +cd ../comment-work + +# 3. 開発(小さなコミットを重ねる) +git commit -m "feat: コメント投稿フォームのUIを作成 #24" +git commit -m "test: コメント投稿APIのテストを追加 #24" + +# 4. 定期的なプッシュ +git push origin feature/24-comment +``` + +#### レビュー&テストフェーズ +1. **セルフレビュー**: 不要なコードの削除、フォーマット確認 +2. **プルリクエストの作成**: 変更内容、テスト方法、スクリーンショットを含める +3. **自動テストとCI/CD**: GitHub Actionsによる自動検証 +4. **コードレビュー**: 設計、可読性、テスト、パフォーマンス、セキュリティ +5. **フィードバック対応**: レビューコメントに基づく修正 + +### 3. バグ修正の流れ + +#### バグの分類 +- **Critical(緊急)**: サービス停止、データ損失の危険 → mainからhotfix +- **High(高)**: 主要機能の不具合 → developからbugfix +- **Medium/Low**: 限定的な影響 → developからbugfix + +#### 修正フロー +```bash +# 1. バグ報告のIssue作成(詳細な再現手順、期待動作、実際の動作、エラーログ) + +# 2. 緊急度に応じたブランチ作成 +# 緊急の場合 +git worktree add -b hotfix/28-critical-auth ../hotfix-auth main + +# 通常の場合 +git worktree add -b bugfix/27-login-validation ../bugfix-login develop + +# 3. バグの再現とテスト作成 +cd ../bugfix-login +# まず失敗するテストを書く +npm test -- --grep "email with plus sign" # 失敗を確認 + +# 4. 修正の実装(最小限の変更) +git commit -m "test: メールアドレスに+記号を含む場合のテストを追加 #27" +git commit -m "fix: メールアドレスの+記号を正しく処理するように修正 #27" + +# 5. 検証 +npm test # すべてのテストがパス +npm run dev # 手動確認 + +# 6. プッシュとPR +git push origin bugfix/27-login-validation +``` + +## 🔄 並列開発のパターン + +### 複数機能の同時開発 + +```bash +# 3つの機能を並行開発 +../feature-login/ # ログイン機能(localhost:3000) +../feature-profile/ # プロフィール機能(localhost:3001) +../feature-dashboard/ # ダッシュボード(localhost:3002) + +# 各ディレクトリで独立して開発サーバーを起動 +cd ../feature-login && npm run dev +cd ../feature-profile && npm run dev -- --port 3001 +cd ../feature-dashboard && npm run dev -- --port 3002 +``` + +### レビュー対応中の新規開発 + +```bash +# PR待ちの間に別の作業を開始 +../feature-A/ # レビュー待ち +../feature-B/ # 新規開発中 +../bugfix-C/ # 緊急修正 + +# レビューコメントが来たらすぐに切り替え +cd ../feature-A +# 修正対応 +git add . +git commit -m "fix: レビュー指摘事項を修正" +git push +``` + +## 🛠️ 便利なコマンド集 + +### worktree管理 + +```bash +# worktree一覧表示 +git worktree list + +# 不要なworktreeの削除 +git worktree prune + +# 特定のコミットからworktree作成 +git worktree add -b feature/test ../test-feature abc123def +``` + +### ブランチ管理 + +```bash +# リモートブランチの最新化 +git fetch --all --prune + +# マージ済みブランチの削除 +git branch --merged | grep -v "\*\|main\|develop" | xargs -n 1 git branch -d +``` + +## 📝 コミットメッセージ規約 + +### Conventional Commits形式 + +``` +(): + + + +