Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
7802d20
Docs: ndf-release-approved-commit.md を確定仕様にする
takemi-ohama Oct 25, 2026
781d858
Docs: ndf-production-release-record.md を確定仕様にする
takemi-ohama Oct 25, 2026
e6e1602
Docs: cross-refactoring-scope-template-probe.md を確定仕様にする
takemi-ohama Oct 25, 2026
34d30f2
Docs: cross-review-no-test-declaration-sweep.md を確定仕様にする
takemi-ohama Oct 25, 2026
0e7881d
Docs: 確定仕様の索引と関連リンクを #1529・#1914・#1630 の追記に合わせる
takemi-ohama Oct 25, 2026
d98516e
Merge pull request #2141 from devbasex/docs/spec-m1914
takemi-ohama Oct 25, 2026
da0eb40
Docs: #2104 の要求と受け入れ条件の写しを置く
takemi-ohama Oct 25, 2026
c6aad7d
Docs: #2087 の要求と受け入れ条件の写しを置く
takemi-ohama Oct 25, 2026
9b4754f
Docs: #2104 の設計を足す(昇格の承認の後は、承認資料の先端のときだけマージする)
takemi-ohama Oct 25, 2026
15cdb7f
Docs: #2087 の設計を書く(agy に配る定義を生成した写しにし model を tier 名へ変換する)
takemi-ohama Oct 25, 2026
d571962
docs(design): #2104 昇格の承認資料の持ち主を行ごとに書き、mvv-gate.py の承認の記録の行を足す
takemi-ohama Oct 25, 2026
91ff98f
docs(design): #2087 の触るファイルにテスト補助 agy_build_helpers.py を足す
takemi-ohama Oct 25, 2026
373290f
Merge pull request #2146 from devbasex/design/issue-2087
takemi-ohama Oct 25, 2026
09a63ed
Merge pull request #2145 from devbasex/design/issue-2104
takemi-ohama Oct 25, 2026
a866e23
Add: 利用者の Chrome を開発コンテナから CDP で操作する Skill chrome-cdp を足す
takemi-ohama Oct 27, 2026
5d5aa5f
Update: chrome-cdp に、ブラウザ全体への命令が拒まれる Chrome からタブ単位で Cookie を読む手順を足す
takemi-ohama Oct 27, 2026
832b623
Fix: chrome-cdp の経路判定の awk にあった位置引数($2, $3)を、名前付きの変数で /proc/net/route…
takemi-ohama Oct 28, 2026
6f07253
Update: playwright-kit の利用者の Chrome への接続を ndf の chrome-cdp へ寄せる
takemi-ohama Oct 28, 2026
2ddffd9
Docs: chrome-cdp の Host ヘッダの説明から確認した版の記載を外す
takemi-ohama Oct 28, 2026
3410eac
Merge pull request #2153 from devbasex/feature/chrome-cdp
takemi-ohama Oct 28, 2026
9b64cb4
Release: ndf v10.23.0 / playwright-kit v3.0.2
takemi-ohama Oct 28, 2026
8b84ce2
Merge pull request #2155 from devbasex/release/v10.23.0
takemi-ohama Oct 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
{
"name": "ndf",
"source": "./plugins/ndf",
"description": "Claude Code plugin (v10.22.0): 8 specialized agents (plus 1 worker agent for the 3-layer workflow) and 48 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, statusline, external AI delegation (Codex/agy), transcript retention guard, and optional Slack notifications.",
"description": "Claude Code plugin (v10.23.0): 8 specialized agents (plus 1 worker agent for the 3-layer workflow) and 49 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, statusline, external AI delegation (Codex/agy), transcript retention guard, and optional Slack notifications.",
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
Expand All @@ -22,7 +22,7 @@
{
"name": "playwright-kit",
"source": "./plugins/playwright-kit",
"description": "Claude Code plugin (v3.0.1): 4 Playwright E2E skills — test planning by page role, script authoring with video / trace evidence, report generation with collected evidence, and the playwright_kit runtime (init, a11y / CWV scans).",
"description": "Claude Code plugin (v3.0.2): 4 Playwright E2E skills — test planning by page role, script authoring with video / trace evidence, report generation with collected evidence, and the playwright_kit runtime (init, a11y / CWV scans).",
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@
**開発版(接尾辞の付いた版)は載せない。** `9.8.0` は `9.8.0-dev.1` までしか出ておらず、
その内容は `10.0.0` で届いている。

## [ndf 10.23.0] - 2026-10-28

- Docs: スプリント m1914 の要求・設計を確定仕様にする(#1914 #1529 #1630 #1593)(#2141)
- ndf に Skill `chrome-cdp` が加わった。開発コンテナ(リモートのホストの上のものを含む)の中のエージェントが、利用者の PC の Chrome を CDP で操作できる。経路の判定・PC 側の設定・中継の立て方・Cookie の取り出しと、安全のための決まりを持つ。Claude Code・Codex・Kiro CLI・agy のすべてへ配る(#2153)
- playwright-kit 3.0.2: 利用者の Chrome への接続の説明を `/ndf:chrome-cdp` へ移し、Chrome 136 以降で動かない `scripts/start-host-chrome.sh` を削除した。`cdp_endpoint` は IP で書く(名前だと Chrome が Host ヘッダを理由に拒む)(#2153)

## [ndf 10.22.0] - 2026-10-25

- Docs: 開発ループ(--loop)の確定仕様を docs/specifications へ置く(#2089)(#2128)
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ Claude Code では `/ndf:<Skill 名>` と打って呼びます。**Skill** は

| プラグイン名 | バージョン | できること | 詳細 |
| --- | --- | --- | --- |
| **ndf** | 10.22.0 | 開発の作業手順(Skill)と専門のサブエージェント。4 つの AI ツールへ同じ名前で入る | [README](./plugins/ndf/README.md) |
| **playwright-kit** | 3.0.1 | Playwright による E2E テストの計画・スクリプト作成・証跡のレポート | [README](./plugins/playwright-kit/README.md) |
| **ndf** | 10.23.0 | 開発の作業手順(Skill)と専門のサブエージェント。4 つの AI ツールへ同じ名前で入る | [README](./plugins/ndf/README.md) |
| **playwright-kit** | 3.0.2 | Playwright による E2E テストの計画・スクリプト作成・証跡のレポート | [README](./plugins/playwright-kit/README.md) |

外部サービスへつなぐ MCP サーバーの設定のプラグインが 10 個あります(Claude Code / Codex / Kiro CLI 向け)。
使うものだけを入れます(Claude Code なら `/plugin install <プラグイン名>@ai-plugins`)。
Expand All @@ -88,13 +88,13 @@ Claude Code では `/ndf:<Skill 名>` と打って呼びます。**Skill** は

### NDF プラグインの Skill の一覧

**NDFプラグイン v10.22.0** に入る Skill の数は、AI ツールごとに違います。
Claude Code向け core 48個、Kiro向け core 45個、Codex向け core 44個、agy向け core 44個です。
元Skills(48個)の内訳は次のとおりです。
**NDFプラグイン v10.23.0** に入る Skill の数は、AI ツールごとに違います。
Claude Code向け core 49個、Kiro向け core 46個、Codex向け core 45個、agy向け core 45個です。
元Skills(49個)の内訳は次のとおりです。
- Pull Request とレビュー (7): pr, pr-tests, fix, pr-review, cherry-pick-pr, deploy, merged
- 開発の進め方 (17): development-workflow, requirements-design, design, document-rebuild, document-sources, document-drafting, tdd-cycle, refactoring, quality-gates, release, release-verification, retrospective, out-of-scope, progress-tracking, backlog-refinement, layout-review, estimate
- 原則と書き方 (11): ndf-policies, implementation-plan, plan-to-spec, investigation-rules, decision-request, problem-solving, logging-guidelines, document-style, notion-writing, issue-plan-strategy, ml-model-structure
- 品質と実行環境 (3): qa-security-scan, docker-container-access, official-skills-autoloader
- 品質と実行環境 (4): qa-security-scan, docker-container-access, chrome-cdp, official-skills-autoloader
- 外部サービス (2): google-workspace, document-systems
- 複数の AI によるレビューとリファクタリング (3): cross-review, cross-refactoring, external-ai
- 作業場所 (1): worktree
Expand Down
11 changes: 7 additions & 4 deletions docs/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
| 未登録の語 | `unregistered` | 用語として書かれているのに用語集に無い語。見出しが「用語」の節の表の 1 列目に書いた語を指す | — | — | `docs/specifications/ndf-ubiquitous-language.md` |
| 用語集の取り込み | — | ベースブランチの取り込みで衝突した用語集を、共通の祖先・自分の側・相手の側の 3 つの版から語の単位で合わせ、文書を作り直して取り込みを終えること。`glossary.py merge` が行う | — | — | `docs/specifications/ndf-glossary-merge.md` |
| 語の衝突 | — | 用語集の取り込みで、両側が同じ語(コンテキストと語の組)を違う中身にしたこと、または片側が消して片側が書き換えたこと。コンテキストの `id` でも同じ。スクリプトは解かずに止まる | — | — | `docs/specifications/ndf-glossary-merge.md` |
| agy に配る定義 | — | `plugins/ndf/dev.agy/agents/` の下にあり agy が読むエージェント定義。`plugins/ndf/agents/` から生成した写しで、`model` だけが agy の tier 名に変わる。手で直さない | — | — | — |
| model の対応表 | — | Claude Code のエージェント定義の `model` の値(型の名前)から agy の tier 名への対応。`scripts/lib/agy_agents.py` が持つ | — | — | — |

## NDF の開発ワークフロー(`ndf-workflow`)

Expand Down Expand Up @@ -203,7 +205,7 @@ NDF が提供する工程・承認ゲート・モード・ステップの語。d
| 代表の run | — | 宣言の解析がワークフローごとに壁時計とテストの所要を測る 1 件の run。取得した候補(ワークフローごとに新しい順の成功の run を最大 5 件)のうち、ジョブを飛ばしていない最新のもの | — | — | `docs/specifications/project-decl-ci-representative-run.md` |
| 入力の指紋 | — | 解析が読んだファイルの、HEAD の木での blob の SHA と、ブランチの構成の組。プロジェクトの宣言の新しさの判定に使う | — | — | — |
| テストの戦略 | `strategy` | 範囲テストの走らせ方・全体テストの置き場(手元か CI か)・落ちたテストの見分け方の組。local-full / local-scoped-ci-whole / round-only の 3 つ。宣言の test.strategy か、同じ関数が所要から導く(#1334) | — | — | — |
| 範囲テストのテンプレート | `scope_command` | {paths} を引用の外の 1 字句として含むテストのコマンド(宣言の scope_command か、{paths} を含む引数)。{paths} をシェルの引用で守った対象の並びへ置き換え、シェルで走らせる。{paths} には、改修の範囲テストではテストのファイルのパス、CI に任せる戦略の着手前のテストではテストの置き場所(ディレクトリかファイル)、静的解析では変更したファイルのパスが入る | 範囲テストの雛形 | — | — |
| 範囲テストのテンプレート | `scope_command` | {paths} を引用の外の 1 字句として含むテストのコマンド(宣言の scope_command か、{paths} を含む引数)。{paths} をシェルの引用で守った対象の並びへ置き換え、シェルで走らせる。{paths} には、改修の範囲テストではテストのファイルのパス、CI に任せる戦略の着手前のテストではテストの置き場所(ディレクトリかファイル)、静的解析では変更したファイルのパスが入る | 範囲テストの雛形 | — | `docs/specifications/cross-refactoring-scope-template-probe.md` |
| JUnit の置き場 | `junit` | テストのコマンドが JUnit XML を書くファイルの、作業ディレクトリからの相対パス(宣言の suites[].junit)。NDF はコマンドへ引数を足さず、このファイルを読む | — | — | — |
| スプリント | `sprint` | 1 回のリリースとして出す課題と Pull Request のセット。版数を持つプロジェクトでは 1 つの版になる。期間ではなく、1 回のリリースとして出す中身で切る。工程はスプリント単位で 1 回ずつ通し、モードもスプリントで 1 つにする | ミッション | — | `plugins/ndf/skills/development-workflow/references/glossary.md` |
| スプリント状態ファイル | `sprint_state` | スプリントのプラン・done・承認ゲートの記録・MVV・版を持つファイル(パスは呼ぶ側が決め、手順書の例は `sprint-state.json`。目録 `sprint.json` とは別のファイル) | ミッション状態ファイル、ミッションの状態 | — | `plugins/ndf/skills/development-workflow/references/glossary.md` |
Expand Down Expand Up @@ -464,8 +466,8 @@ Pull Request のレビューを CLI へ委譲し、新しい指摘が出なく
| 想定最大時間の終わり | `final_end_at` | started_at + 想定最大時間(limits.final_end_at)。中断して再開した実行では、止まっていた分だけずれる。子プロセスへ渡す上限はすべてこの時刻で切る | — | — | `docs/specifications/cross-refactoring-verify-and-final-gate.md` |
| 確かめの見込み | `gate_seconds` | 最終ゲートの確かめ 1 回にかかる見込みの秒(limits.gate_seconds)。手元で全体テストを走らせるなら w、CI で見るなら c、どちらも測れていなければ 0 | — | — | `docs/specifications/cross-refactoring-verify-and-final-gate.md` |
| 確かめの開始の締め切り | `gate_start_end` | 想定最大時間の終わり − 確かめの見込み(H − v)。最終ゲートの確かめを始められる最後の時刻で、最終ゲート修正と打ち切りの後の取り消しもこの時刻までに止まる | — | — | `docs/specifications/cross-refactoring-verify-and-final-gate.md` |
| テストの無い宣言 | — | .ndf/project.json の test があり、unknown と strategy を持たず、種別・雛形の誤りが無く、どの suite も command と scope_command のどちらも持たないもの(suite が 0 個のときを含む)。解析が「テストが無い」と測った {"suites": []} を含む。cross-review の最終スイープは検証のコマンドを名指ししない | — | — | — |
| テンプレートの試走 | — | cross-refactoring の init が着手前のテストの後に、範囲テストのテンプレートへテストのファイルを最大 2 本入れて 1 回走らせ、{paths} に入るパスを受けるかを見分けること。不備か判定できなければ改修の前に止まる | — | — | — |
| テストの無い宣言 | — | .ndf/project.json の test があり、unknown と strategy を持たず、種別・雛形の誤りが無く、どの suite も command と scope_command のどちらも持たないもの(suite が 0 個のときを含む)。解析が「テストが無い」と測った {"suites": []} を含む。cross-review の最終スイープは検証のコマンドを名指ししない | — | — | `docs/specifications/cross-review-no-test-declaration-sweep.md` |
| テンプレートの試走 | — | cross-refactoring の init が着手前のテストの後に、範囲テストのテンプレートへテストのファイルを最大 2 本入れて 1 回走らせ、{paths} に入るパスを受けるかを見分けること。不備か判定できなければ改修の前に止まる | — | — | `docs/specifications/cross-refactoring-scope-template-probe.md` |

## NDF のラッパー(`ndf-relay`)

Expand Down Expand Up @@ -530,13 +532,14 @@ release が走らせるリリースの種別・リリースコマンド・公開
| リリースの経路 | `release_route` | 変更が本番系へ届く道筋の種類。template(release.form の雛形で組む)/ merge(マージで反映)/ manual(手で反映)/ none(届けない)。release.form があればそれ、無ければ宣言の delivery から決まる。リリースの形とは別の軸 | — | — | — |
| 昇格の Pull Request | `promotion_pr` | ベースブランチから本番チャネルへ変更を入れる Pull Request | — | — | — |
| 昇格のプラン | — | リリースの経路 promote のための「本番」のステージのプラン(plan_promote)。昇格の Pull Request を作り、承認ゲート 2 の後にマージする | — | — | — |
| 昇格の承認資料 | — | 昇格の承認ゲート 2 で利用者か MVV 判定が見る承認資料({state_dir}/work/approval-promote.md)。承認したコミットの欄を持ち、normal では promote の承認ゲート 2 の停止が、fast / auto では prepare が書く。promote-approved はこの欄の SHA が昇格の Pull Request の先端のときだけマージする | — | — | — |
| 他のプラグイン | — | 配布の宣言の release.plugin 以外で、前のタグからの差分にファイルがあるプラグイン。release-steps.py changed-plugins が列挙する | — | — | `docs/specifications/ndf-release-other-plugin-levels-and-migration.md` |
| 上げ幅 | — | 版数のどの桁を上げるか(MAJOR / MINOR / PATCH)。セマンティックバージョニングに従う | — | — | `docs/specifications/ndf-release-other-plugin-levels-and-migration.md` |
| 移行の手順 | — | 利用者が新しい版へ移るときに自分で行う操作(引数の置き換え・認証のし直し・導入し直しなど)。PR 本文の「移行の手順」の節が正 | — | — | `docs/specifications/ndf-release-other-plugin-levels-and-migration.md` |
| 互換なしの印 | — | 要求の「影響」の表の「公開インタフェース」の行に書く、互換の経路を持たないことを示す語(互換なし / 互換の経路は持たない)。release-steps.py changed-plugins が上げ幅の候補を MAJOR にする材料 | — | — | `docs/specifications/ndf-release-other-plugin-levels-and-migration.md` |
| 承認したコミット | — | ゲート 2 の承認資料が対象にした、ベースブランチの先端のコミットの SHA(40 桁)。本番チャネルへ入れてよい中身の上限を示す | — | — | `docs/specifications/ndf-release-approved-commit.md` |
| 比べた先端 | — | 本番の配布が承認したコミットと比べた時点の、ベースブランチの先端のコミットの SHA。本番チャネルへマージしてよいのはこのコミットだけである | — | — | `docs/specifications/ndf-release-approved-commit.md` |
| 確かめたコミット | — | 導入の確認を走らせた、ベースブランチの先頭のコミットの SHA(40 桁)。導入の確認の承認資料に書かれ、pace: fast / auto の昇格でマージしてよい先端はこのコミットに限る | — | — | — |
| 確かめたコミット | — | 導入の確認を走らせた、ベースブランチの先頭のコミットの SHA(40 桁)。導入の確認の承認資料に書かれ、pace: fast / auto の昇格でマージしてよい先端はこのコミットに限る | — | — | `docs/specifications/ndf-release-approved-commit.md` |
| 承認の外のコミット | — | 承認したコミットから比べた先端までに入ったコミットのうち、この版の配布の PR のものでないもの。あれば本番の配布は承認ゲートで止まる | — | — | `docs/specifications/ndf-release-approved-commit.md` |
| 承認の記録 | — | 承認資料の欄の 1 つ。ゲート 2 を承認したときの承認したコミットの SHA と、承認した者・時刻を持つ。承認資料を書き直すと消え、承認し直すまで本番の配布は通らない | — | — | `docs/specifications/ndf-release-approved-commit.md` |
| 更新情報の節 | — | plugin の README の `## 更新情報` の節。版を名乗らず、CHANGELOG.md の版の節を参照する固定の案内だけを持つ。配布の手順(bump・changelog・notes)は書かない | — | — | `docs/specifications/ndf-release-readme-update-info.md` |
Expand Down
Loading
Loading