- JavaScript 84.4%
- PowerShell 8.3%
- Shell 7.3%
|
|
||
|---|---|---|
| .agents | ||
| .github | ||
| bin | ||
| docs | ||
| knowledge | ||
| skills | ||
| templates | ||
| .mcp.json | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| package.json | ||
| README.md | ||
🚀 AI-DLC (AI-Driven Development Lifecycle) 総合実践パッケージ
対象: ソロエンジニア 〜 10名規模の小規模スタートアップ/ベンチャー開発チーム
対応OS: macOS, Linux, Windows (PowerShell / Git Bash / WSL / Node.js)
対応AIツール: GitHub Copilot, Claude Code, Antigravity, Cursor, OpenAI CLI 他
コンセプト: AIを「単なるコード補完」から「開発ライフサイクル全般を推進する協働パートナー」へ昇華し、最小の管理コストで高品質かつ爆速な開発を実現する。
📘 構成ツール&ディレクトリ一覧
/workspace
├── README.md # 本ファイル(全体案内・導入ガイド)
├── bin/
│ └── ai-dlc.js # ⚡ CLI エントリポイント (sync / diff / doctor)
├── docs/
│ └── PUBLISHING.md # 📦 配布・公開手順とバージョニング方針
├── AGENTS.md # SSOT: 本リポジトリ自身のAI行動規範ルール
├── CLAUDE.md # Claude Code 用プロジェクト指示
├── package.json # Node.js 依存・MCPサーバ起動スクリプト
├── .mcp.json # MCP サーバ定義 (fetch / filesystem / memory)
├── .agents/ # Antigravity 用エージェント設定
│ ├── mcp_config.json # Antigravity 向け MCP サーバ定義
│ └── plugins.json # 有効化するプラグイン定義
├── .github/ # GitHub 連携設定
│ └── copilot-instructions.md # GitHub Copilot 用カスタム指示
├── knowledge/ # 🧠 AI-DLC 体系的ナレッジベース
│ ├── 01_concept_and_mindset.md # 基本概念・マインドセットシフト(Assisted vs Driven)
│ ├── 02_phase_guide.md # 5フェーズ実践ガイド(新規Greenfield & エンハンス・障害対応/Hotfix対応)
│ ├── 03_anti_patterns_and_risks.md # 6大アンチパターン&デビルズアドボケイトリスク対策(ハルシネーション原因決めつけ等)
│ ├── 04_startup_solo_playbook.md # 個人&スタートアップ専用 Lean AI-DLC プレイブック
│ ├── 05_multi_agent_review_flow.md # マルチエージェント相互評価・改善フロー標準仕様
│ └── 06_self_improvement_architecture.md # 🚀 自己改善・メンテナンスメカニズム仕様書
├── templates/ # 🛠️ 即活用テンプレート集
│ ├── setup/ # ⚡ ワンステップ自動環境構築 (全OS対応)
│ │ ├── setup_ai_dlc.sh # Linux / macOS / Git Bash / WSL 用 Bash スクリプト
│ │ ├── setup_ai_dlc.ps1 # Windows PowerShell 用スクリプト
│ │ ├── setup_ai_dlc.js # Node.js クロスプラットフォーム対応スクリプト(エントリポイント)
│ │ ├── ai-dlc-config.json.example # チーム共通テーラリング設定のサンプル (--config 用)
│ │ └── lib/ # セットアップ処理モジュール群
│ │ ├── cli.js # CLI 引数パース・実行モード判定
│ │ ├── profile.js # 対話問診・設定ファイル読込によるプロファイル構築
│ │ ├── cmd_sync.js # sync コマンド本体(配備・更新)
│ │ ├── cmd_diff.js # diff コマンド(書き込まず差分表示)
│ │ ├── cmd_doctor.js # doctor コマンド(バージョン・乖離・衛生診断)
│ │ ├── text_diff.js # 依存なしの行単位 LCS 差分
│ │ ├── deploy.js # 何をどの所有権モードで配備するかの定義
│ │ ├── sync.js # owned / seed-once の同期とディレクトリ再帰
│ │ ├── sync_core.js # 配備モード・判定結果の共通プリミティブ
│ │ ├── sync_block.js # managed-block(マーカー間のみ差し替え)の同期
│ │ ├── blocks.js # AI-DLC:BEGIN/END マーカーの組立・抽出・置換
│ │ ├── manifest.js # 配備台帳 .ai-dlc/manifest.json の読み書き・ハッシュ
│ │ ├── migrate.js # v1 レイアウト (skills/) から v2 への移行
│ │ ├── report.js # 同期結果サマリ・コンフリクト案内の表示
│ │ └── fs_utils.js # プレースホルダ置換ユーティリティ
│ ├── ownership/ # 🔐 所有権ディレクトリの説明ファイル
│ │ ├── AI_DLC_DIR_README.md # .ai-dlc/ (上流所有・編集禁止)の説明
│ │ └── LOCAL_DIR_README.md # .ai-dlc-local/(プロジェクト所有)の説明
│ ├── git_hooks/ # 🛡️ コミット時自動衛生・弱小テスト監査フック
│ │ ├── pre-commit # Git 用 Pre-commit フック
│ │ └── pre-commit.js # Cross-platform Node.js フック
│ ├── steering_files/ # AIへの制約・コンテキスト指示ファイル
│ │ ├── AGENTS.md # SSOT: プロジェクト全般のAI行動規範ルール
│ │ ├── COPILOT_INSTRUCTIONS.md # GitHub Copilot 専用カスタマイズ指示
│ │ ├── CLAUDE.md # Claude Code 用 CLI/操作ショートカット
│ │ ├── CURSORRULES.md # Cursor 用プロジェクトルール
│ │ └── SYSTEM_ARCHITECTURE.md # アーキテクチャ構造マップテンプレ
│ ├── workflow_templates/ # 開発運用プロセス用フォーマット
│ │ ├── TASK_SPEC.md # 仕様合意&タスク分解フォーマット
│ │ ├── PR_TEMPLATE.md # AI生成コード人間レビュー専用PRテンプレ
│ │ ├── MULTI_AGENT_REVIEW_TEMPLATE.md # マルチエージェント評価プロンプトテンプレ
│ │ └── SECURITY_AND_COST_POLICY.md # トークン予算・セキュリティ規約
│ └── ci_cd/ # 自動検証パイプライン
│ ├── ai_code_guard.yml # GitHub Actions 用 品質・セキュリティ自動チェック
│ ├── ai_self_improvement_cron.yml # 週次自動自己改善・コンテキスト最適化 Cron
│ └── ai_dlc_update_check.yml # 🔁 上流更新の週次検知 & 自動 PR 発行
└── skills/ # ⚡ Antigravity / AI Agent 実践スキル
├── ai-dlc-planner/ # 要件から軽量 TASK_SPEC.md を自動生成
├── ai-dlc-reviewer/ # デビルズアドボケイト視点でコードを辛口監査
├── ai-dlc-refactor-evolver/ # コンテキスト乖離・AIスロップを自動クリーンアップ
├── ai-dlc-agentic-evaluator/ # 4大ペルソナによる多角評価&反復修正自動化
└── ai-dlc-self-improver/ # 🔄 規則肥大化・スロップを自律診断・自己改善PR発行
├── SKILL.md # 自己改善プロセスの定義・手順書
└── scripts/ # 診断スクリプト群
├── rule_pruner.js # ルール肥大化・重複・矛盾の診断
└── slop_detector.js # AIスロップ・弱小アサーションの検出
⚡ クイックスタートガイド (OS別環境構築&対話型テーラリング)
プロジェクトのルートディレクトリで、お使いの環境に合わせたコマンドを1つ選択して実行します。
デフォルトでは**対話型問診プロンプト (Interactive Tailoring)**が起動し、プロジェクト名や主要スタック、テストコマンドを AGENTS.md に動的注入します。
💻 Windows (PowerShell) の場合
powershell -ExecutionPolicy Bypass -File templates/setup/setup_ai_dlc.ps1 .
🌐 Node.js 環境の場合 (全OS共通: Windows / macOS / Linux)
node templates/setup/setup_ai_dlc.js .
🐧 macOS / Linux / WSL / Git Bash の場合
bash templates/setup/setup_ai_dlc.sh .
🎛️ オプション指定 (CI / 非対話実行・プロファイル適用)
- デフォルト値で一括適用 (非対話スキップ):
node templates/setup/setup_ai_dlc.js . --yes - チーム共通設定ファイル (
ai-dlc-config.json) を使用:node templates/setup/setup_ai_dlc.js . --config custom-config.json - 書き込まずに差分だけ確認 (更新前の必須ステップ):
node templates/setup/setup_ai_dlc.js . --dry-run - コンフリクトを上流版で一括解決 (旧版は
.ai-dlc-bakへ退避):node templates/setup/setup_ai_dlc.js . --force
🔁 取り込み先プロジェクトへの更新反映 (Update Propagation)
本パッケージは他プロジェクトへ取り込まれて使われる前提のため、初回導入と2回目以降の更新を同じコマンドで扱います。
配備した内容は .ai-dlc/manifest.json(配備台帳)に記録され、次回実行時に
「上流が変えたのか」「ローカルが変えたのか」を独立に判定します。
💡
.ai-dlc/manifest.jsonは 必ずコミットしてください。これが更新差分の判定基準になります。
中核原則: 1つのファイルを上流と下流で共同所有しない
取り込み先プロジェクトは、所有者の異なる2つのディレクトリを持ちます。
consumer-project/
├── .ai-dlc/ # 🔒 上流所有(編集禁止・まるごと置換可能)
│ ├── manifest.json # 配備台帳。必ずコミットする
│ └── skills/ # AI-DLC 公式 Skill 群
├── .ai-dlc-local/ # ✏️ プロジェクト所有(上流は初回配置後に触らない)
│ ├── ai-dlc-config.json # テーラリング値。自動で読み込まれる
│ └── skills/ # 独自 Skill / 公式 Skill の差し替え版
├── AGENTS.md # 🔀 管理ブロック方式(マーカー間だけが上流所有)
├── CLAUDE.md
├── .cursorrules
├── .github/copilot-instructions.md
└── docs/ai-dlc/ # 📝 雛形。初回だけ配置され以降は放置される
所有権モデル(3つの配備モード)
| モード | 対象 | 更新時の挙動 |
|---|---|---|
managed-block |
AGENTS.md / CLAUDE.md / .cursorrules / .github/copilot-instructions.md |
マーカー間だけ差し替え。ブロック外の記述は不可侵 |
owned |
.ai-dlc/skills/** / .ai-dlc/README.md |
ローカル未編集なら自動更新。編集済みなら保護 |
seed-once |
docs/ai-dlc/* / .ai-dlc-local/ai-dlc-config.json |
初回のみ配置。以降は一切触らない |
管理ブロック方式
ステアリングファイルは各AIツールがルート直下の固定名を読むため分割できません。 そこでマーカーで所有権の境界を引きます。
<!-- AI-DLC:BEGIN v2.0.0 — 自動生成領域。… -->
(上流のルール。更新時はここだけが差し替わる)
<!-- AI-DLC:END -->
## 🧩 プロジェクト固有ルール
(この行より下は AI-DLC の更新で書き換わらない。自由に追記可能)
プロジェクト固有のルールは必ず <!-- AI-DLC:END --> より下に書いてください。
そうすれば上流がルールを追加・改訂しても、衝突なしで自動的に反映されます。
更新時に起きること(判定表)
managed-block はマーカー間の本文、owned はファイル全体を比較対象として、以下を判定します。
| ローカル編集 | 上流変更 | 結果 |
|---|---|---|
| なし | あり | 🔄 自動更新 |
| なし | なし | ✔️ 変更なし |
| あり | なし | ✏️ ローカル編集を保持(何もしない) |
| あり | あり | ⚠️ 要判断 — 既存は保護し、上流版を <file>.ai-dlc-new に出力 |
コンフリクト時はファイルが破壊されることはありません。diff で確認して取り込むか、--force で上流版に寄せます(旧版は .ai-dlc-bak に退避)。
推奨する更新フロー
# 1. 何が変わるか確認(一切書き込みません)
npx ai-dlc diff
# 2. 適用(テーラリング値は前回の値が自動で引き継がれます)
npx ai-dlc sync --yes
# 3. git diff でレビューしてコミット(更新差分のレビューがそのまま品質ゲートになります)
git diff
既存プロジェクト・旧バージョンからの移行
初回実行時に自動で移行が行われます。いずれの場合もファイルが失われることはありません。
| 移行前の状態 | 挙動 |
|---|---|
| マーカーなしのステアリングファイル(上流と同一内容) | 🧩 自動でマーカーを付与して管理ブロック化 |
| マーカーなしのステアリングファイル(手編集済み・手書き) | ⚠️ 原本は無傷のまま、既存内容をブロック下に温存した移行案を .ai-dlc-new に出力 |
v1 の skills/(未編集) |
🚚 .ai-dlc/skills/ へ自動で移動 |
v1 の skills/(編集済み) |
⚠️ 移動せず据え置き+通知。.ai-dlc-local/skills/ への移設を推奨 |
⚠️ Node.js 非搭載環境向けの
.sh/.ps1フォールバックは初回導入専用です。 台帳を扱えないため、管理下プロジェクトの更新は明示的に拒否されます。
🧰 AI-DLC CLI (ai-dlc)
ai-dlc <command> [target-dir] [options]
| コマンド | 用途 |
|---|---|
sync |
配備・更新を実行(コマンド省略時の既定) |
diff |
上流との差分を行単位で表示。一切書き込みません |
doctor |
バージョン・台帳整合性・乖離・ルール衛生をまとめて診断 |
終了コード: 0 正常 / 1 エラー・--strict 違反 / 2 要判断のコンフリクトあり
ai-dlc doctor が見るもの
- 導入済みバージョン と 上流バージョンの差
- 台帳にあるのに実体が無いファイル、旧レイアウトに据え置かれたファイル
- 未解決の
.ai-dlc-new(前回のコンフリクトが放置されていないか) - 上流との乖離の内訳(自動反映される件数 / ローカル編集で保持される件数 / 要判断の件数)
rule_pruner.js・slop_detector.jsによるルール肥大化・AIスロップ診断
CI で回す場合は ai-dlc doctor --strict(対応候補が1件でもあれば終了コード1)を使います。
取り込み先プロジェクトからの呼び出し方
| 配布形態 | 呼び出し |
|---|---|
| Git URL 直接参照(推奨・公開不要) | npx -p git+<repo-url> ai-dlc sync(#v2.0.0 でタグ固定可) |
| ローカル配置 | node path/to/ai-dlc/bin/ai-dlc.js sync . |
| npm 公開パッケージ | npx @your-scope/ai-dlc ai-dlc sync |
📦 npm へ公開しなくても、
npxは Git URL から直接パッケージを解決できます。 各方式の詳細な手順・リリースフロー・バージョニング方針はdocs/PUBLISHING.mdを参照してください。
🔁 更新 PR の自動発行 (推奨の到達点)
templates/ci_cd/ai_dlc_update_check.yml を取り込み先の .github/workflows/ に配置すると、
週次で上流の新バージョンを検知し、sync を実行して 更新 PR を自動で立てます。
下流のチームは「PR をレビューして merge するだけ」になり、更新の運用コストがほぼゼロになります。
PR 本文には更新前後のバージョン、同期ログ、レビュー時の確認ポイントが含まれます。
要判断のコンフリクトがある場合(sync 終了コード 2)は本文で明示されるため、
気付かないまま merge される事故を防げます。
配置後、workflow 内の
AI_DLC_PACKAGEを自組織の配布先に書き換えてください。
🛡️ デビルズアドボケイト(批判的検証)済みの5大鉄則
- ドキュメントの超軽量化 (No Doc Overhead):
仕様書
TASK_SPEC.mdは 1 ページ以内に収め、軽微な修正はプロンプト直打ちで済ませる。 - 「緑のテスト幻想」の打破 (Anti-False Positive): AIが自作のバグに合わせて弱小テストを書くのを防ぐため、TDD(テスト優先)と厳密なアサーションを徹底する。
- レビュー疲労の防止 (Targeted Human Review):
定型チェックは CI (
ai_code_guard.yml) に任せ、人間は「セキュリティ」「データモデル」「外部連携」のみを査読。 - コンテキストとトークン予算の衛生管理 (Context Discipline):
モジュール単位でのファイル投入と
AGENTS.mdの更新でコストと注意力を最適化。 - マルチエージェント相互検証 (Agentic Refinement): 単一AIの思い込みを防ぐため、4つの役割ペルソナで相互チェックと反復改善ループを回す。
🔄 AI-DLC 自己改善・メンテナンス機能の使い方
AI-DLCには、ルールの肥大化・AIスロップ(冗長コード・無駄なコメント)・「緑のテスト幻想」(弱小アサーション)を自動で検知し自律改善する仕組みが組み込まれています。
1. 手動での衛生・スロップ診断コマンド
ターミナルから手動でプロジェクトの健全性を診断できます:
# AGENTS.md / ルールファイルの行数・重複・トークン診断
node skills/ai-dlc-self-improver/scripts/rule_pruner.js .
# AIスロップ・弱小テスト(緑のテスト幻想)の検出
node skills/ai-dlc-self-improver/scripts/slop_detector.js .
2. Git Pre-commit フックによるコミット時自動ガード
ワンステップ環境構築スクリプト(setup_ai_dlc.js / .sh / .ps1)を実行すると、.git/hooks/pre-commit が自動配備されます。git commit 時にAIスロップや壊れた弱小アサーションが含まれている場合、ローカル環境で自動的にコミットが拒否・保護されます。
3. CI/CD による週次自動自己改善 Cron
templates/ci_cd/ai_self_improvement_cron.yml をリポジトリの .github/workflows/ に配置することで、毎週日曜日に自動的に衛生チェックが実行され、改善案の PR (auto-fix/ai-dlc-maintenance) が発行されます。
📖 詳細仕様書: 自己改善アーキテクチャおよびデビルズアドボケイトの必須ガードレール・4段階承認マトリクス(HIL)の詳細は
knowledge/06_self_improvement_architecture.mdを参照してください。