PDLC

Claude Code に「製品開発ライフサイクル」ワークフローを追加するオープンソースプラグイン。

31 個の標準化されたステージがすべてスラッシュコマンドとして公開。すべての成果物がディスクに保存され、すべてのステージが状態マシンを更新し、実装前に失敗するテストが必要。「ソフトな慣習」を「ハードな契約」へ。

✨ なぜ PDLC が必要か

📝 成果物がディスクに保存

各ステージが docs/ 配下に実ファイルを生成。「PRD が会話の中だけに存在する」状態を排除。git diff で AI の実際の作業を確認できます。

📊 機能ごとの状態マシン

docs/.pdlc-state/<feature-id>.json がすべてのステージ遷移を記録。/pdlc-status で各機能の現状が即座に分かります。

🚦 テストファースト

厳格な TDD レッドライトゲート。失敗するテストが存在しない限り実装は進めません。「あとでテスト追加する」を許しません。

🔍 ハンドオフ前のセルフチェック

各ステージは次へ進む前に自己監査を実行。ズレはステージ境界で検出され、レビューまで持ち越されません。

🛠️ 自動修復は 1 回のみ

自動修復ループは最大 1 回のみ実行。解決しない問題は人間にエスカレートし、「修正 → 確認 → 修正」の無限ループを防ぎます。

🧭 明示的な next_step

各ステージが次のステップを宣言。マルチステージのフローはコマンド駆動で、暗黙の記憶に頼りません。

🎯 こんなときに役立ちます

機能をエンドツーエンドで実装

/pdlc-feature ログインに電話番号認証を追加 — PDLC が PRD → 設計 → TDD → 実装 → レビュー → リリースまでをつなぎ、各ステージで成果物を保存します。

監査可能なバグ修正

/pdlc-fix 空リストでのページネーションクラッシュ — 特定、再現、修正、テスト、ドキュメント化。docs/04_testing/defects/ 配下の欠陥記録は会話より長く残ります。

機能ごとの進捗を一目で把握

/pdlc-status がすべての状態マシンファイルを読み、PRD 段階・TDD レッドライト・リリース可能、といった状態を一画面で表示します。

レガシープロジェクトを取り込む

/pdlc-adopt が既存コードベースを調査、欠けている標準と設計ドキュメントを補完、PDLC のディレクトリ構造をブートストラップ — コードは書き換えません。

トレンド付きの振り返り

/pdlc-retro が今期と過去の状態マシンデータを比較 — 「レビュー通過率の低下」「今期は TDD レッドライトがスキップされた」などのトレンドが浮き彫りに。

📦 31 個のコマンド、3 層構成

第 1 層 · エントリポイント(3)

/pdlc-feature · /pdlc-fix · /pdlc-status

一文のプロンプトがチェーン全体を駆動。

第 2 層 · ステージ(11)

prd · design · tdd · implement · review · e2e · refactor · ship · deploy · retro · task

個別ステージを細かく制御。

第 3 層 · ツール(17)

UI 設計 / DB 設計 / アーキ / セキュリティ / 性能 / コード生成 / サービス追加 / アプリ追加 / i18n / マイグレーション / changelog / bootstrap / adopt / onboard / 等

必要に応じて明示的に呼び出す専門ステージ。

配布形式

標準的な Claude Code プラグイン として配布。インストール後は ~/.claude/plugins/pdlc/

MIT ライセンス、GitHub 公開。

⬇️ インストール

ワンライナー(グローバル)

~/.claude/plugins/pdlc/ にインストール。clone 不要。

curl -fsSL https://raw.githubusercontent.com/kanfu-panda/pdlc-skills/main/install.sh \
  | bash -s -- --global

プロジェクト単位

特定プロジェクトの .claude/plugins/pdlc/ にインストール。

curl -fsSL https://raw.githubusercontent.com/kanfu-panda/pdlc-skills/main/install.sh \
  | bash -s -- --project /path/to/my-project

Claude Code ネイティブコマンドの場合

Claude Code の plugin CLI を直接使う場合:

claude plugin marketplace add kanfu-panda/pdlc-skills
claude plugin install pdlc@pdlc-skills

インストール確認

claude plugin list | grep pdlc
# 期待値: pdlc@pdlc-skills  Version: 1.0.0  Status: ✔ enabled

Claude Code セッションを再起動後、入力欄で / を入力し pdlc- と打ち始めれば、autocomplete に 31 個のサブコマンドすべてが表示されます。

🧪 3 ステップで始める

# 1. インストール
curl -fsSL https://raw.githubusercontent.com/kanfu-panda/pdlc-skills/main/install.sh \
  | bash -s -- --global

# 2. 機能を実装(Claude Code 内)
/pdlc-feature ログインに画像認証を追加

# 3. バグを修正
/pdlc-fix 空リストでのページネーションクラッシュ

進捗確認はいつでも /pdlc-status

🛡️ Iron Law(鉄則)

成果物を生成する第 1 層 / 第 2 層のすべてのステージは、5 つの不変条件を満たす必要があります。読み取り専用ステージ(/pdlc-status など)は例外。

  1. ディスクに保存 — すべての成果物は実ファイル、チャット出力だけではない
  2. 状態マシンを更新 — 完了したステージは必ず docs/.pdlc-state/<feature-id>.json を書く
  3. テストファースト — 失敗するテストが存在しない限り実装できない(TDD レッドライト)
  4. セルフチェック — 各ステージはハンドオフ前に自己監査を実行
  5. 自動修復は 1 回のみ — 自動修正ループは最大 1 回まで、解決しない問題は人間に委ねる

📁 ターゲットプロジェクトの契約

ステージ実行時、プロジェクト内の以下のパスを読み書きします:

docs/00_standards/coding/                          # コーディング規約(読み取り専用)
docs/01_requirements/prd/                          # PRD
docs/02_design/{api,database,architecture,ui-ux}/  # 技術設計
docs/03_development/                               # 開発者マニュアル
docs/04_testing/{unit-tests,e2e-tests,defects,...} # テスト & 欠陥
docs/05_deployment/                                # デプロイドキュメント
docs/06_tasks/                                     # ステージ内タスク追跡
docs/07_reviews/{doc,code,design,retro}/           # レビュー記録
docs/.pdlc-state/<feature-id>.json                 # 機能ごとの状態マシン

📄 ライセンス

MIT。使用、フォーク、リリース、すべて自由。ソースコード、Issue、完全なドキュメント:github.com/kanfu-panda/pdlc-skills

❓ よくある質問

Q: Claude Code 以外でも使えますか? いいえ — PDLC は Claude Code のプラグインで、Claude Code のプラグイン / スラッシュコマンド基盤に依存します。現時点では Claude Code のみ対応。

Q: 確認なしにコードを変更しますか? 成果物を生成するステージは確かにファイルを書き込みます(docs/ 配下と実装時はコードベース)。各ステージはセルフチェックを実行し、次に進む前に明示的にハンドオフを通知します。Claude Code 自体の権限確認プロンプトも通常通り機能します。

Q: テンプレートをカスタマイズするには? リポジトリを clone → references/templates/*.md または skills/pdlc-*/SKILL.md を編集 → clone ディレクトリで bash install.sh --global を実行してカスタマイズ版をインストール。詳細は CONTRIBUTING.md

Q: バグ報告 / ディスカッション? 使い方・設計の議論は GitHub Discussions、確認済みのバグは Issues へ。プライベートなセキュリティ報告は、リポジトリの SECURITY.md を参照。