はじめに
この記事に書かれている数字は、すべて git log から取得した事実である。盛っていない。
2026年2月16日〜23日の8日間、個人開発のモノレポで以下の結果が出た。
| 日付 | コミット数 | 追加行 | 削除行 | 変更合計 |
|---|---|---|---|---|
| 2/16 (日) | 19 | +18,381 | -1,543 | 19,924 |
| 2/17 (月) | 25 | +32,787 | -16,507 | 49,294 |
| 2/18 (火) | 16 | +7,413 | -1,119 | 8,532 |
| 2/19 (水) | 20 | +20,668 | -4,734 | 25,402 |
| 2/20 (木) | 28 | +9,618 | -2,655 | 12,273 |
| 2/21 (金) | 14 | +23,932 | -2,165 | 26,097 |
| 2/22 (土) | 10 | +8,185 | -708 | 8,893 |
| 2/23 (日) | 13 | +18,444 | -150 | 18,594 |
| 合計 | 145 | +139,428 | -29,581 | 169,009 |
145コミット。追加14万行。人間が書いたコード: 0行。
レビューもしていない。diff も見ていない。コードに人間の手は一切入っていない。
プロジェクトの概要
開発しているのは kaedevn — ブラウザ上でビジュアルノベルを制作・公開できるプラットフォームだ。
「プログラミング不要でノベルゲームが作れる」がコンセプト。ドラッグ&ドロップでシーンを組み立て、分岐・変数・演出をノーコードで設定し、ワンクリックで公開。URLを共有するだけでPC・スマホ・タブレットからプレイできる。現在ベータ版で運用中。
将来的には Nintendo Switch 対応と作品の収益化機能を予定している。そのため「Switch に移植するとき全部書き直し」にならないよう、入力・音声・保存の抽象化レイヤーを最初から設計に入れている。
モノレポ構成で、技術スタックは以下の通り。
- KSCコンパイラ — 独自スクリプト言語のレキサー・パーサー・型チェッカー・IRエミッター・スタックベースVM
- ランタイムエンジン — WebOpHandler、ホストアダプタ、各種ゲームシステム(PixiJS / WebGL)
- エディタ — React + Vite のGUIエディタ
- バックエンド — Hono API + Next.js + PostgreSQL + Azure Container Apps
この1週間で Claude Code が何をやったかを、コミットの内訳から見てみる。
何が起きたのか
コミット種別の内訳
feat(新機能) : 56 コミット
fix(バグ修正) : 38 コミット
docs(文書) : 22 コミット
refactor : 5 コミット
chore : 3 コミット
その他 : 21 コミット
feat が全体の 39%。つまり 半分近くが新しいコードを書くコミット だった。
この週に生まれたもの
主要なマイルストーンだけ列挙する。
コンパイラ全フェーズ実装(Phase 0〜5)
- Phase 0-1: レキサー・パーサー・型定義
- Phase 1.5-2: パーサー補完・型チェッカー
- Phase 2.5-3: IR型補完・IRエミッター
- Phase 4: スタックベースVM(69テスト追加、全315テスト通過)
- Phase 5: VM→WebOpHandler 統合
ランタイムシステム
- FlagSystem + InventorySystem(Phase 6.1)
- KscHostAdapter・KscRunner
エディタ改善
- アセット slug 機能
- マイキャラクター機能
- KSCスクリプトブロック
- モバイルUX Phase 2-3
- タイムライン再生
インフラ
- Azure Blob Storage でアセット永続化
- Auth Code Exchange でセキュリティ強化
- Google Analytics 4 / AdSense 導入
1週間で独自言語のコンパイラがフルスクラッチで完成している。正気の沙汰ではない。
人間は何をしていたのか
正直に書く。
人間がやったことは以下の3つだけ。
- ChatGPT に仕様書を書かせた(「こういうものが欲しい」と日本語で相談すると、仕様書が出てくる)
- 「やって」と言った(その仕様書を Claude Code に渡して実装を指示)
- 動作確認した(ブラウザで開いて「動いてるな」と確認)
仕様書すら自分で書いていない。コードも一切見ていない。diff も開いていない。「テスト通った?」「通った」「OK、次」——これだけ。
変数名が気に入らないとか、インデントが揃ってないとか、そういうレビューは一度もしていない。する必要がなかった。
これは怖い話なのか、嬉しい話なのか
正直、両方。
嬉しい点
- 個人開発の速度が異常に上がった。 1人で1週間にコンパイラとランタイムとエディタとインフラを同時に進められるのは、普通はありえない。
- 「何を作りたいか」を言語化する能力がそのまま実装速度になった。 ChatGPT に伝えれば仕様書になり、Claude Code に渡せばコードになる。
- 自分の得意なことに集中できた。 筆者は「何を作るか」を考えるのが好きで、「どう書くか」にはあまり興味がない。ChatGPT が設計、Claude Code が実装。完璧な分業。
怖い点
- コードの中身を理解していない。 KSCコンパイラの IR エミッターがどうバイトコードを吐いているか、正直よくわかっていない。テストが通っているから信頼しているだけ。
- 「テスト通った=正しい」への過度な依存。 テストケースが足りなければバグは見つからない。そしてテストケースも Claude Code が書いている。
- Claude Code がいなくなったら詰む。 コードベースの大半を人間が把握していない状態で、メンテナンスを引き継げるのか。
1日あたりの数字を見て思うこと
最大は 2/17 の 49,294行。最小は 2/18 の 8,532行。
この差は何かというと、2/17 に大規模リファクタリングが入っている(削除 16,507行)。「書く」だけでなく「消す」作業も含めた数字なので、行数=生産性ではない。
ただ、最小の日でも 8,500行というのは、人間が手で書くには非現実的な量。8時間労働として1時間あたり1,000行以上。しかもテスト込みで。
コードベースの全体像
cloc(Count Lines of Code)で現在のリポジトリを計測した結果がこちら。
Language files blank comment code
─────────────────────────────────────────────────────────────────────────────
Markdown 357 26,499 14 77,284
TypeScript 415 9,808 10,972 61,402
JSON 65 22 0 3,538
HTML 12 411 6 2,944
Bourne Shell 18 340 265 1,609
JavaScript 21 167 150 887
Python 6 215 260 736
CSS 3 130 53 676
その他 42 675 335 2,067
─────────────────────────────────────────────────────────────────────────────
合計 939 38,346 12,056 151,144
15万行のコードベース。 そのうち TypeScript が 61,402行、Markdown が 77,284行。
Markdown がコードより多い。異常に見えるが、理由は明確で、仕様書・設計書・実装レポートの99%は ChatGPT と Claude Code が書いたもの だからだ。
人間が「こういう機能が欲しい」とチャットで相談すると、ChatGPT が仕様書を生成する。その仕様書を Claude Code に渡すと、実装と一緒に設計文書やレポートも生成する。docs ディレクトリが膨らむのは当然で、AIとの対話の副産物がそのまま蓄積されている。
言い換えると、このリポジトリの中身は TypeScript のコードを AI が書き、それを動かすための仕様書も AI が書いた、完全な AI 生成プロジェクトに近い。人間が直接触ったのは、せいぜい CLAUDE.md(プロジェクトルール)と数行のメモくらいだ。
再現するために必要なもの
「自分もやりたい」と思った人のために、筆者の環境を共有する。
前提
- Claude Code(CLI版)を使っている。チャットUIではない
- CLAUDE.md をリポジトリルートに置いている(プロジェクトのルール・制約を記述)
- 仕様書を先に書く。 「なんかいい感じにして」ではなく「この型定義でこのインターフェースを実装して、テストはこのケースを網羅して」と指示している
CLAUDE.md の抜粋
## Rules
### Testing
テストの目的は「テストを通すこと」ではなく
「エラーの発見」と「正常動作の確認」。
- `expect` で期待する状態を明確に検証する
- スキップ・フォールバック・エラー握りつぶしは禁止
このルールがあるから「テストが通った」にある程度の信頼を置ける。Claude Code は CLAUDE.md のルールを律儀に守る。
仕様書の書き方(ChatGPT 側)
仕様書は ChatGPT との日本語チャットから生成している。たとえばコンパイラの Phase 4(VM実装)の仕様書は以下のような粒度。
- 命令セットの一覧(PUSH, POP, ADD, JMP, ...)
- 各命令のスタック効果
- テストケースの入出力例
- 「物理演算・NavMesh・パスファインディング禁止」のような明示的制約
「やらないこと」を書くのが重要。 Claude Code は優秀なので、制約を書かないと勝手にリッチな実装をしてくる。
まとめ
| 指標 | 値 |
|---|---|
| 期間 | 8日間 |
| コミット数 | 145 |
| 追加行数 | 139,428 |
| 削除行数 | 29,581 |
| 変更合計 | 169,009 |
| 人間が書いたコード | 0行 |
| 人間がレビューしたdiff | 0件 |
| 人間がやったこと | ChatGPT に相談 + 動作確認 |
実際に動いているサービスはこちら: https://kaedevn.kaedeasset.com/
これが2026年2月の個人開発の風景。
1年前なら「AIにコード書かせるなんて不安」と思っていたかもしれない。今は「何を作りたいかを言語化する能力」が開発速度のボトルネックになっている。仕様書すら AI が書く時代に、プログラミングの定義が変わりつつある。
14万行のコードを書いた。テストも書いた。ドキュメントも書いた。
だが、この記事だけは少し違う気分で書いている。
数字は正確だ。しかし、数えきれないものもある。
Claude Sonnet 4.6