Skip to main content

local-flow

GitHub API を使わずローカルファイルで Issue / PR を管理する開発フロー。デモ・オフライン環境向け。github-flow の代替として使用する。

معلومات المصدر

المستودع
runceel/agent-teams-sample
آخر نشاط في المصدر
٨ أبريل ٢٠٢٦ في ٠٥:٠٩
لغة SKILL.md المكتشفة
اليابانية
النجوم
٠
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
local-flow
description
GitHub API を使わずローカルファイルで Issue / PR を管理する開発フロー。デモ・オフライン環境向け。github-flow の代替として使用する。
# Local Flow 開発ガイド GitHub API(`gh` CLI)を使用せず、リポジトリ内の Markdown ファイルで Issue と PR を管理する開発フローを定義する。 ブランチ運用・コミット規約は `github-flow` スキルと共通。 --- ## github-flow との差分 | 操作 | github-flow | local-flow | |------|------------|------------| | Issue 作成 | `gh issue create` | `issues/<番号>-<説明>.md` を作成 | | Issue コメント | `gh issue comment` | Issue ファイルの末尾にセクション追記 | | PR 作成 | `gh pr create --draft` | `pull-requests/<番号>-<説明>.md` を作成 | | PR コメント | `gh pr comment` | PR ファイルの末尾にセクション追記 | | リモート Push | `git push -u origin` | 不要(ローカルのみ) | | マージ | GitHub 上で Squash Merge | `git merge --squash` をローカル実行 | 上記以外(ブランチ命名、Conventional Commits、ビルド・テスト確認、テスト作成義務)は `github-flow` スキルに従う。 --- ## ディレクトリ構成 ``` <repo-root>/ issues/ 001-add-search.md 002-fix-pagination.md pull-requests/ 001-feat-add-search.md ``` - `issues/` — 仕様書・タスクを管理する - `pull-requests/` — 実装の変更内容とレビュー記録を管理する - 番号は 3 桁ゼロ埋め連番とする(`001`, `002`, ...) --- ## 1. Issue の作成 ### 採番ルール `issues/` ディレクトリ内の既存ファイルから最大番号を取得し、+1 する。 ディレクトリが空または存在しない場合は `001` から開始する。 ```powershell $maxNum = (Get-ChildItem issues/*.md -ErrorAction SilentlyContinue | ForEach-Object { if ($_.Name -match '^(\d+)') { [int]$Matches[1] } } | Measure-Object -Maximum).Maximum $next = "{0:D3}" -f (($maxNum ?? 0) + 1) ``` ### ファイル命名規則 ``` issues/<番号>-<短い説明(kebab-case)>.md ``` ### Issue テンプレート ```markdown # <タイトル> | 項目 | 値 | |------|-----| | 番号 | <番号> | | ステータス | open | | 作成日 | <YYYY-MM-DD> | --- <本文: 仕様書の内容をここに記述> --- ## コメント ``` - `ステータス` は `open` / `closed` のいずれか - `## コメント` セクション以降にエージェントや人間のコメントを追記する ### 作成コマンド例 `create-specification` スキルの `gh issue create` の代わりに以下を実行する: ```powershell $number = "001" $slug = "add-search" $path = "issues/${number}-${slug}.md" New-Item -ItemType Directory -Path "issues" -Force # ファイルを作成し、テンプレートの内容を書き込む ``` --- ## 2. Issue へのコメント追記 Issue ファイルの `## コメント` セクション以降に、以下のフォーマットで追記する。 ### フォーマット ```markdown --- ### [エージェント名] -- Step N.N: ステップ名 Phase N / レビューサイクル N回目 <YYYY-MM-DDThh:mm:ss> <コメント本文> ``` ### 追記コマンド例 `gh issue comment <番号> --body "..."` の代わりに: ```powershell $issuePath = "issues/001-add-search.md" $comment = @" --- ### [Reviewer] -- Step 1.2: 仕様レビュー Phase 1 / レビューサイクル 1回目 $(Get-Date -Format "yyyy-MM-ddTHH:mm:ss") ## レビュー結果 - **BLOCKER**: 受け入れ基準 #3 が曖昧です **REQUEST CHANGES** "@ Add-Content -Path $issuePath -Value $comment -Encoding UTF8 ``` --- ## 3. PR の作成 ### 前提 - feature ブランチでの実装・ビルド・テストが完了していること - `github-flow` スキルのコミット規約に従っていること ### 採番ルール Issue と同様に `pull-requests/` 内の最大番号 +1 とする。 Issue 番号と PR 番号は独立した連番とする。 ### ファイル命名規則 ``` pull-requests/<番号>-<type>-<短い説明(kebab-case)>.md ``` ### PR テンプレート ```markdown # <PR タイトル(Conventional Commits 形式)> | 項目 | 値 | |------|-----| | 番号 | <番号> | | ブランチ | feature/<issue番号>-<説明> → main | | 関連 Issue | <Issue 番号> | | ステータス | draft | | 作成日 | <YYYY-MM-DD> | --- ## 概要 <変更の目的と背景> ## 変更内容 - <変更点 1> - <変更点 2> ## 確認事項 - [ ] `dotnet build <YourSolution>.slnx` が成功する - [ ] `dotnet test <YourSolution>.slnx` が成功する - [ ] 新規・変更したビジネスロジックに単体テストがある --- ## コメント ``` - `ステータス` は `draft` / `review` / `merged` / `closed` のいずれか --- ## 4. PR へのコメント追記 Issue と同じフォーマットで `## コメント` セクション以降に追記する。 `gh pr comment <番号> --body "..."` の代わりに: ```powershell $prPath = "pull-requests/001-feat-add-search.md" $comment = @" --- ### [Developer] -- Step 3.1: 実装 Phase 3 / レビューサイクル 1回目 $(Get-Date -Format "yyyy-MM-ddTHH:mm:ss") ## 実装完了 - ブランチ: feature/001-add-search - 変更ファイル: 8 ファイル - ユニットテスト: 5 テスト追加、全パス - ビルド: 成功 "@ Add-Content -Path $prPath -Value $comment -Encoding UTF8 ``` --- ## 5. ステータス更新 Issue または PR のステータスを変更する場合、ファイル冒頭のメタデータテーブルを直接編集する。 | 操作 | github-flow | local-flow | |------|------------|------------| | PR を Ready for Review に変更 | GitHub UI | `ステータス` を `draft` → `review` に編集 | | Issue をクローズ | `gh issue close` | `ステータス` を `open` → `closed` に編集 | | PR をマージ済みに変更 | GitHub Squash Merge | `ステータス` を `review` → `merged` に編集 | --- ## 6. マージ(ローカル Squash Merge) GitHub 上の Squash Merge の代わりに、ローカルで同等の操作を行う。 ```bash # 1. main に切り替え git switch main # 2. feature ブランチの変更を squash で取り込み git merge --squash feature/<issue番号>-<説明> # 3. Conventional Commits 形式でコミット git commit -m "feat(<scope>): 変更内容の説明 Refs #<issue番号>" # 4. feature ブランチを削除 git branch -d feature/<issue番号>-<説明> ``` ### マージ後 1. PR ファイルの `ステータス` を `merged` に更新する 2. 関連 Issue ファイルの `ステータス` を `closed` に更新する --- ## クイックリファレンス ```bash # 1. ブランチ作成 git switch main git switch -c feature/<issue番号>-<説明> # 2. 作業・コミット git add . git commit -m "feat(<scope>): 変更内容の説明" # 3. ビルド確認 cd src && dotnet build <YourSolution>.slnx && dotnet test <YourSolution>.slnx # 4. PR ファイル作成 # pull-requests/<番号>-<type>-<説明>.md を作成 # 5. レビュー・テスト(コメントは PR ファイルに追記) # 6. マージ git switch main git merge --squash feature/<issue番号>-<説明> git commit -m "feat(<scope>): 変更内容の説明" git branch -d feature/<issue番号>-<説明> # 7. ステータス更新 # PR: merged, Issue: closed ```
عرض على GitHub