25分でアプリを作り切るために一番重要なのは、コードを書く速さではない。
始めるまでに迷わないこと、そして始めた瞬間に後戻りできない状態を作ることだ。だから開発の最初の一手は、設計でもアイデア出しでもなく、フォルダを作ることにした。
これは準備ではなく、儀式の開始点になる。
開発はテンプレフォルダを作った時点で始まる
毎回ゼロから考えないために、フォルダ構成を完全に固定する。
開発を始める前にやる作業は、以下の構成をそのまま作るだけだ。
/YYYYMMDD_xx_action/
├ index.html
├ spec.md
├ log.md
├ map.md
└ agent.md
この時点では、中身は一切書かない。
ファイルを「置く」だけでいい。考える余地を作らないことが目的だからだ。
このコードを作る呪文 codexにわたせばいいよ
以下の初期フォルダ構成を、リポジトリ直下に作成してください。
/YYYYMMDD_xx_action/
├ index.html
├ spec.md
├ log.md
├ map.md
└ agent.md
条件:
・各ファイルの中身はすべて空で構いません
・ファイル名と階層構造のみを正確に作成してください
・HTMLやMarkdownの初期テンプレートは書かないでください
・この工程では実装や仕様記述は行いません
フォルダ名は「日付+連番+動作名」に固定する
日付と連番だけでは、後から見たときに何を作ったのかわからない。
一方で、名前に意味を持たせすぎると、そこで思考が止まる。
そこでフォルダ名は、次の形式に固定する。
YYYYMMDD_01_text-clean
YYYYMMDD_02_csv-sort
YYYYMMDD_03_html-gen
これは作品名ではない。
後から検索したときに「何をするものか」を思い出せるためのラベルだ。10秒で決める。悩んだら、もっと雑な名前に落とす。それもルールに含める。
spec.md を置くのは「時間制限があるから」
普段であれば task.md を使うところだが、今回はあえて spec.md を置く。
理由は明確で、この開発は継続を前提にしていないからだ。
task という言葉は、「未完を管理する」「次がある」という前提を含んでしまう。
25分で終わらせ、触らない前提の開発では、その文脈がノイズになる。
spec.md は、その回の前提条件を一時的に固定するための紙だ。
ここには仕様らしいことは書かない。後で読むことも想定しない。「今回はここまで」と線を引くためだけに存在させる。
agent.md と map.md は「迷い止め」として先に置く
agent.md には、Codexに投げる定型の指示文を置く。
毎回考えないための呪文で、ここは編集禁止領域にする。
map.md には、GitHub Pagesでできないことを書く。
保存しない、外部APIを使わない、状態を持たない。index.html が動けば終わり。
期待値を下げるためのファイルだ。
log.md は結果を書くためではなく、区切るために置く
log.md には、成功か失敗かだけを書く。
反省も改善も書かない。これは成長のためのログではない。25分で終わらせた、という事実を残すためのものだ。
ここまでが「開発前」にやるすべて
この時点で、まだ1行のコードも書いていない。
それでも、25分開発を始めるための準備はすべて終わっている。
次にやることは単純だ。
spec.md を開き、5分刻みのスケジュールを書く。そしてポモドーロを回す。
アプリを作る前に、始め方を固定する。
その順番を守ることで、開発は努力ではなく、反復になる。
次は、このテンプレフォルダを前提に、25分をどう回すかを具体的に書いていく。
だがそれは、フォルダを作った後の話だ。
コメントを残す