このレッスンで学ぶこと

first-app / overview · 約 6 分

最初のアプリのゴール

空リポから Node HTTP サーバを作り、プレビューと review まで通します。

小さなアプリを作り、テストする無音・手順テキスト付き。実測・公式手順をもとに再構成。
動画の手順をテキストで読む

小さなアプリを作り、テストと画面で確かめる

  1. 完成条件を小さくする

    操作対象:Codex — 依頼文の設計例

    依頼に3つの完成条件を指定する

    学習チェックリストを作って。
    追加・完了・空入力の拒否に絞って。
    まず設計を示し、実装後にテストして。

    確認:追加・完了・空入力拒否の3つを、テストできる完成条件にする。

    ローカル実測の再構成 / AI 応答は未収録

  2. まず失敗を確認する

    操作対象:Terminal — 修正前の実測結果

    修正前の空白入力テストを実行する

    node --test demo/empty-input.before.mjs

    確認:fail 1:空白のタスクが追加され、期待した例外が出ない。

    実測 / Node.js テスト出力を抜粋

  3. 入力を整えて検証する

    操作対象:demo/tasks.mjs — 修正後の実コード

    addTask で空白を除去し、空なら拒否する

    export function addTask(tasks, input) {
      const title = input.trim();
      if (!title) {
        throw new Error(
          "学習内容を入力してください"
        );
      }
      return [...tasks, {title, done: false}];
    }

    確認:trim() → 空ならエラー → 有効な入力だけを配列に追加。

    実装済み関数 / 表示用に改行を調整

  4. テストをまとめて実行

    操作対象:Terminal — 修正後の実測結果

    修正後の4件のテストを実行する

    node --test demo/tasks.test.mjs

    確認:ローカル実測:追加・空白拒否・空白除去・完了の4件が成功。

    実測 / Node.js テスト出力を抜粋

  5. 画面でも動きを確認

    操作対象:Browser — 学習チェックリスト

    入力 →「追加」→ タスクの完了を押す

    確認:一覧への追加と「1 / 1 完了」を確認。実装済みデモの再構成。

    ローカルデモの操作再構成

  6. 差分と結果を確認する

    操作対象:Review — 実装した変更の要点

    コードの差分と検証結果を照合する

      export function addTask(tasks, input) {
    +   const title = input.trim();
    +   if (!title) throw new Error(
    +     "学習内容を入力してください"
    +   );
    -   return [...tasks, {title: input, done: false}];
    +   return [...tasks, {title, done: false}];
      }

    確認:4件成功。データはメモリー内のみで、再読み込み後の保存は未実装。

    実コードの差分を表示用に再構成

手順テキストを保存(VTT)

学習目標

Codex に小さな Node HTTP アプリを作らせ、127.0.0.1 で応答を確認し、codex review します。 [codex-cli]

前提

インストール、認証、AGENTS.md があること。Node.js 18+。

なぜ必要か

設定ファイルを置いただけでは、作る → 試す → 直すのループを経験できません。

実行場所

アプリの生成と codex exec / codex review は local-bridge です。Web実習 (browser) では WebContainer の Node で server.js の起動と npm test ができます。API キーは使いません。

公式 prompting は、欲しい挙動、再現、制約、検証方法を書けと案内します。 [codex-prompting]

成功結果

.git があります。次レッスンで server.js を作ります。

失敗対処

Git 外だと Codex が拒否することがあります。git init してください。

このレッスンで接続する

ページを移動するとブラウザ内実習の接続とファイルは消えます。演習の直前に、このパネルから明示的に再接続してください(自動では戻りません)。