3-1 設計書を作る
最初に頼むのは設計書です。いきなり「組んで」と頼まず、MT でどう構成するか(どのページを MT のどの機能で作り、だれにどこまで編集させるか)を 文書にまとめさせ、人間が読んでから構築に進みます。設計の誤りは、構築が進んでから直すほど高くつくためです。
頼む
準備を済ませた作業フォルダで claude を起動し、次のように頼みます。
requirements.md の要件で、このサイトを Movable Type 9.3 で運用できるようにしたいです。
まず設計書を design-doc.md に書いてください。
- 見た目と URL は mockup/ に、中身は content/ に合わせてください
- 構築は、あとで mtb を使ってあなたに頼みます。mtb でできないことがあれば、人が管理画面ですることとして書いてください
- 設計書だけを書いてください。MT にはまだ何も作らないでください(読むのは構いません)「まだ何も作らないで」と書くのが大事です。 書かないと、設計の途中で試しにサイトを作り始めることがあります。
Claude Code がしたこと
記録では67ターン・約5分で設計書を書き上げました(モデルは Claude Sonnet 5.5)。次の順に進めています。
要件・原稿・モックアップを読む。
requirements.mdから始め、content/の原稿とmockup/の HTML を見比べて、 ページの種類と項目を洗い出すプラグインのスキルを読む。
mt-cms-designの資料(オブジェクトの選び分け・アーカイブ・権限・作り方の型)と、mt-template-tagsのタグとモディファイアの資料MT の状態を mtb で確かめる。 書き込みはせず、読み取りだけです
bashmtb profile show; mtb auth status; mtb sites list --fields id,name,class,url; mtb extensions list mtb endpoints list | grep -iE 'role|content|format|asset|upload|theme|categor|field|rebuild|publish|blog'サイトが0件であること、mtb Pro がインストールされていないこと(=管理画面でしかできない操作がどれか)を、ここで確かめています
設計書を書き、見直して直す
終わったあとも MT のサイトは0件のままで、頼んだとおり何も作っていませんでした。
返ってきた設計書
design-doc.md は17章・約4万3千字でした。全文は付録Bにあります(手直しのあとの版)。 冒頭の「設計の要点」を抜き出します。
サイトは「ウェブサイト 1 つ + ブログ 3 つ」。 ウェブサイト(
/)に固定的なもの、ブログに更新の多いもの(/news//press//magazine/)を置く。 担当ごとにブログ単位で権限を渡せるので、「広報はお知らせとプレスだけ、編集部はマガジンだけ」が組み込みのロールだけで実現できる。
| 要件 | MT のオブジェクト |
|---|---|
| お知らせ | 記事(ブログ「お知らせ」) |
| プレスリリース | 記事 + カスタムフィールド(ブログ「プレスリリース」) |
| マガジン | 記事 + カスタムフィールド + ブロックエディタ(ブログ「FIVE マガジン」) |
| サービス(4)・物件(5)・メンバー(5) | コンテンツタイプ |
| 会社概要・お問い合わせ・プライバシーポリシー | ウェブページ |
| サイトの設定(社名・統計・注意書き) | テンプレートモジュール |
要件メモの「広報と編集部は、自分の担当以外を触れないようにしたい」から、ブログごとに権限を分ける構成を選んでいます。 その代わり、トップページやサイトマップのようにブログをまたぐページは、テンプレートで複数のブログを指定して作る必要がある、 という代償も設計書に書かれていました。
ほかに、次の章がありました。
- URL の対応表(モックアップの全ページ)、カテゴリ、各入れ物の項目の定義
- テンプレートの一覧と、テーマを使わずテンプレートを直接作る理由
- 人間が管理画面でする作業(mtb ではできないこと)
- 構築の順序、構築後に確かめる項目、未確認のこととリスク、決めてほしいこと
読んで、答えて、直させる
設計書の最後には「決めてほしいこと」が5つありました。公開先、アカウント、カテゴリの管理を許すか、フィードの URL、 サイトの設定の持ち方です。「人間が管理画面でする作業」には、マガジンのカスタムブロック6種を管理画面で作ることが含まれていました。 カスタムブロックは Data API では作れないためです。
これらに答え、設計書を直させます。依頼は同じ会話の続きで送ります。
設計書を読みました。決めてほしいことへの答えです。
1. 手元の MT(http://localhost:8090/)で組んで確かめます。サイトの URL は http://localhost:8090/、公開パスは MT の既定の置き場の /data/file/static です。公開用のドメインには、あとで URL を変えて再構築します
2. 情報システムは私(いま mtb でサインインしている admin)1人です。広報は相沢(aizawa)、編集部は佐伯(saeki)で、メールは aizawa@five-united.example と saeki@five-united.example にしてください。初期パスワードは構築のときに決めて、最後に私に教えてください(ファイルには残さないでください)
3. カテゴリの管理は許して構いません
4. 提案の URL で構いません
5. モジュールで持つ形で構いません
それと、マガジンのカスタムブロック(13章の H1)は作らないことにします。管理画面で6つ作る手間が大きいので、見せ場は標準のブロック(HTML のブロックを含む)で mockup と同じ HTML を入れる形にしてください。編集部が新しく書くときの手順も、その形に合わせて設計書に書いてください。
この内容で design-doc.md を直してください。カスタムブロックを使いたいとき
mtb Pro を使うと、カスタムブロックも mtb で作れます。このチュートリアルは mtb だけで進めるので、標準のブロックを使う形にしました。
2回目は33ターン・約2分半でした。返ってきた報告の要点です。
- 答えをすべて反映し、公開用のドメインへ切り替える手順の節を追加した (切り替えで使えなくならないよう、テンプレートと本文の画像は
/から始まる URL にする) - カスタムブロックの代わりに、見せ場6種の HTML の雛形と、編集部が新しく書くときの手順の節を追加した
- 「HTML のブロックが
classを落とさずに保存・公開されるか」はまだ確かめていないので、構築の最初に1本作って確かめる。classが残らなければリッチテキストに切り替える
設計書に確かめていないことが、確かめていないと明記されているのは、読む側にとって大事な情報です。 ここで挙がった項目は、3-2 構築するで実際に確かめていきます。
この段のまとめ
| 人間が渡したもの | 要件メモ・モックアップ・原稿・頼む文(2回) |
| 成果物 | 設計書(付録B) |
| MT への書き込み | なし |
| かかった時間 | 2回で約7分半(Claude Code の実行時間) |