◉CLAUDE LABEN
●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました
記事一覧/Claude Code
⟐ Claude Code/2026-06-24中級

Claude Design 由来のプロトタイプを本番化する — 単一ソース・CI・OGP自動生成の実装

Claude Design で作ったプロトタイプを Claude Code で本番運用に耐える形へ。生成物ランタイムを土台にする判断、ロジックを mixin で分離する構成、取引台帳を単一ソースにするデータ設計、GitHub Actions による自動更新と OGP 画像の実ブラウザ生成まで、実装込みで解説します。

Claude Design8Claude Code265CI6GitHub Actions12OGPアーキテクチャ7premium4

✦ プレミアム記事

前編では Claude Design と Claude Code を発散と収束で分担する流れを紹介しました。後編は、プロトタイプを「毎日使える本番」に変えるための作り込みに踏み込みます。題材は、私が個人開発で、Dolice Labs の運用の傍らで実際に組んだ、データを一枚で見渡すダッシュボードのような静的サイトを想定します。

ここで扱うのは、AI が出した生成物をどこまで土台にしてよいか、ロジックをどう分離するか、データの真実をどこに置くか、そして CI で何を自動化するか、という4点です。どれもプロトタイプを公開物に変える段で必ず立ち止まる判断でした。

生成物のランタイムを作り直さず土台にする

Claude Design が出力するプロトタイプには、ビルド済みのランタイム(生成された support.js のような1枚のJS)が同梱されていることがあります。普通なら「プロトタイプはプロトタイプ、本番は作り直す」と考えるところですが、私はあえてランタイムごと引き継ぐ判断をしました。

判断の軸は単純で、その生成物が自分の要件と噛み合うかどうかです。今回は次の条件が揃っていました。

  • 依存ゼロ・ビルドレスで、<script src> で読むだけ。バンドラもインストールも要らない
  • すでにプロトタイプがそのまま動いている。フレームワークへ移植して得るものが薄い
  • ランタイムが1枚のJSに閉じているので、最悪は中を読めば全部そこにある

「AI が生成したから本番では使わない」と反射的に避けるのではなく、性質が要件に合うかで決める。長く使う個人開発の道具では、依存を抱えないこと自体が安心材料になりました。逆に、この条件が噛み合わなければ載せ替えていたと思います。生成物は編集対象にせず、ルールに「生成物・編集しない」と明記しておくのが安全です。

ロジックを mixin で分離する

プロトタイプは1枚のHTMLに全部入りになりがちです。これだと変更箇所が区分しづらく、メンテが重くなります。そこで実装の大半を外部の js/*.js に出し、グローバルなメソッド集に登録しておいて、本体の末尾で合成する形にしました。

// js/format.js などの末尾(何度読んでも安全な冪等パターンで登録)
window.AppLogic = Object.assign(window.AppLogic || {}, {
  yen(n) { return '¥' + Math.round(n).toLocaleString('en-US'); },
  pct(n) { return (n * 100).toFixed(1) + '%'; },
});
 
// 本体側の末尾で合成する
Object.assign(Component.prototype, window.AppLogic);

ここで意識したのは、ランタイムが名前で呼ぶ契約面(コンストラクタやライフサイクル、描画用のメソッド)だけをインラインに残し、それ以外は外部ファイルへ逃がすという線引きです。「画面をどう記述するか」はランタイムに従い、「コードと運用をどう構成するか」は自分で決める。この境界をはっきりさせると、本番化フェーズで何度細部をいじっても見通しが保てます。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦AI生成物のランタイムを作り直さず土台にする判断基準と、依存ゼロ・ビルドレス構成が効く条件
✦ロジックを mixin で分離し、ランタイムが要求する契約面だけインラインに残す具体コード
✦取引台帳CSVを単一ソースにするデータ設計と、Playwright で実ブラウザ撮影する OGP 自動生成の実装
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⟐ Claude Code2026-05-20
Claude Code が『テスト全通過』と報告したのに CI で落ちる — 終了コードを正しく拾うための検証設計
ローカルでは『テスト全通過』と報告された変更が、push 後の GitHub Actions で真っ赤になる。原因の多くは Claude Code 側ではなく、シェルとテストランナーの終了コード解釈にあります。実例ベースで切り分け方を整理しました。
⟐ Claude Code2026-08-27
リポジトリに置いた allow を信じるか、環境側の信頼登録に寄せるか
使い捨ての実行環境で Claude Code を非対話で走らせると、リポジトリ内の permissions.allow が信頼待ちのまま落ちます。何が落ちて何が残るのかを 2.1.246 で確かめ、許可設定の置き場所を決め、起動前に検出するプリフライトを用意します。
⟐ Claude Code2026-05-04
コードが変わるたびにドキュメントも自動更新される仕組みを Claude Code で作る
README・CHANGELOG・API仕様書をコードの変更に連動して自動生成するCI/CDパイプラインを構築します。Claude Haiku 4.5とSonnet 4.6を役割別に使い分け、コスト70%削減と品質の両立を実現する実践ガイドです。