第3章 ― アプリ工場という発想(前編): CLAUDE.mdが「憲法」になる構造

第3章 ― アプリ工場という発想(前編): CLAUDE.mdが「憲法」になる構造

AI に対する「憲法」を書いた瞬間、組織が立ち上がった。

アプリ工場のすべての中心にあるのは、たった1つのテキストファイルだ。`/Users/hiroki/Documents/アプリ工場/CLAUDE.md`。これが「憲法」として機能している。

CLAUDE.mdは何ができるのか

Claude Code(Anthropic公式CLI)は、起動時にカレントディレクトリの `CLAUDE.md` を自動的に読む。読んだ内容を、その後の全ての会話の前提として扱う。つまり、`CLAUDE.md` に書いた指示は、毎回プロンプトに貼り付けなくても効く、永続的なシステムプロンプトとして機能する。

アプリ工場の `CLAUDE.md` を見ると、こんな構造になっている。

アプリ工場/CLAUDE.md の構造

セクション内容
最重要ミッションMRR最大化 / 100本量産
KPI目標1ヶ月10万 / 3ヶ月50万 / 6ヶ月100万 / 12ヶ月300万+
絶対ルール完璧主義禁止 / MVP最速 / 月10本量産 / 失敗前提
画像生成gpt-image-2のみ / 他禁止
技術スタックSwiftUI+MVVM / Supabase / StoreKit2
UIルール起動3秒で価値理解 / 高齢者でも使える
サブスク設計3日無料 / 7日後成果表示 / 毎日通知
iOS実機インストールUDID固定 / TestFlight不要
App Store提出AFTER_APPROVAL固定 / MANUAL禁止
市場リスト老眼/ADHD/睡眠/ダイエット/ペット...10ジャンル
組織(18 Agents)経営2 / 市場4 / 制作5 / 品質4 / 売上3
毎日の実行フロー9:00市場分析 → 18:00提出
コスト最優先ルールOpus禁止 / 1工程2ファイル50行
レジストリapps/registry.json / kpi/dashboard.mjs

全部で約180行。これだけで、Claude Code が「沖縄のアプリ量産工場の社員」として振る舞うようになる。

なぜ「憲法」と呼ぶか

CLAUDE.md を「ガイドライン」じゃなくて「憲法」と呼ぶ理由は、書いた内容が **遡及効果を持つ**からだ。例えば過去のチャットで「Opusで動かしてください」と頼んでも、CLAUDE.md に「Opus禁止(『フルパワー』明示時のみ)」と書いてあれば、Claude Code は禁止ルールに従う。コスト超過を未然に防げる。

もう1つの理由は、複数AIを束ねる土台になることだ。アプリ工場には Subagent(専門AI)が22体いる(`agents/01_ceo.md` 〜 `22_domain_master.md`)。それぞれの Agent 定義ファイルは「自分の役割」しか書かない。共通ルール(画像生成は gpt-image-2 のみ、Opus禁止、など)は CLAUDE.md に1箇所だけ書く。これによって22体の Agent 全員が、矛盾なく同じ憲法に従って動く。

これが、「憲法」と呼ぶ理由だ。

ディレクトリ構造 ― 工場の物理レイアウト

CLAUDE.md と同じディレクトリには、こんなものが並んでいる。

アプリ工場/ ディレクトリ構造

パス役割
CLAUDE.md憲法
HANDOFF.mdセッション間の引き継ぎ書
README.md工場の使い方ガイド
agents/22人のAgent定義(01_ceo.md 〜 22_domain_master.md)
apps/各アプリのワークスペース + registry.json
apps/registry.json全アプリの一覧+ステータス
pipeline/factory.mjsオーケストレータ(scaffold/build/submit)
pipeline/lib/共通ライブラリ(IAP画像/アイコン/スクショ生成)
market_research/毎日の市場調査レポート(YYYY-MM-DD_*.md)
specs/個別アプリの企画書 + ユーザーリサーチレビュー
kpi/dashboard.mjsKPI集計
logs/factory.mjs実行ログ(factory-YYYY-MM-DD.log)
skills/スキル定義のローカルコピー
templates/雛形ファイル

registry.json ― 工場の在庫表

`apps/registry.json` がアプリ工場の心臓だ。今日(2026-04-30) 時点でのスナップショットはこう。

apps/registry.json (2026-04-30時点)

slug市場ステータス備考
read-big-ocr老眼/OCRinstalled_on_device2026-04-24企画→同日実機
focus-timer-adhdADHDinstalled_on_device2026-04-24企画→同日実機
sleep-mind-link睡眠×メンタルinstalled_on_device2026-04-24企画→同日実機
carefam高齢者家族介護productionWeb=carefam.nextcode.ltd / 4言語 / 19テーブル
cat-litter-logペット管理(猫トイレ)installed_on_device多頭飼い+シニア猫向け

5本。`updated_at` が 2026-04-30T11:53:42Z。1分単位で工場の現在地が記録されている。

pipeline/factory.mjs ― 一気通貫オーケストレータ

`pipeline/factory.mjs` は、工場の作業順序を1つにまとめたスクリプトだ。サブコマンドはこんな感じ。

`morning` で市場調査を起動、`research` でブルーオーシャン20本抽出、`scaffold <slug>` でアプリの雛形ディレクトリ生成、`build <slug>` で実機ビルド、`submit <slug>` で App Store 提出。`all <slug>` だと scaffold → build → submit を一気通貫。

重要なのは、`scaffold` を打つと `apps/registry.json` に自動で登録され、ステータスが `planning` で立ち上がること。手書きで registry に行を足すのを完全に廃止した。手書きには必ずミスが入るからだ。

CLAUDE.md → Agents → registry.json → factory.mjs の縦糸

全体の流れを縦に並べると、こうなる。

1. `CLAUDE.md` で憲法と KPI を定義する

2. `agents/` で各役割の専門 AI を定義する

3. 朝、市場調査 Agent (03〜06) が `market_research/YYYY-MM-DD_*.md` を出す

4. CEO Agent (01) が `apps/registry.json` に新規アプリを追加する

5. `pipeline/factory.mjs scaffold <slug>` でワークスペースが立ち上がる

6. SwiftUI Engineer (10) が実装、Bug Hunter Chief (12) が品質、Apple Review Master (15) が審査リスクをチェック

7. `pipeline/factory.mjs submit <slug>` で App Store 提出 + registry のステータスが `submitted` に

この縦糸が、毎日機械的に回る。それが「工場」と呼ぶ理由だ。

4コマ漫画 ― 「CLAUDE.mdを書いた朝」

CLAUDE.mdが書かれた瞬間、組織が起動した
CLAUDE.mdが書かれた瞬間、組織が起動した
  1. 1コマ目空のディレクトリ「~/Documents/アプリ工場/」
  2. 2コマ目CLAUDE.mdを書く。最重要ミッション、KPI、絶対ルール、22人の組織図
  3. 3コマ目Claude Codeを起動。「読みました。CEO Agentで動きます」
  4. 4コマ目翌朝、市場調査Top20と企画3本が出来ていた

次回、第3章後編は「画像生成は gpt-image-2 のみ」「ネイティブダイアログ禁止」など、CLAUDE.md の細かいルールがどう生まれたかを実例ベースで書く。

この記事が役に立ったらシェアしてください