- サンプルとしてTOEICのPart5問題を練習できるアプリを作成(プロジェクト名:
toeic-p5-quiz) - 仕様駆動開発ツールとして Spec Kit を使用
uv をインストールする。
$ curl -LsSf https://astral.sh/uv/install.sh | sh
spec-kit をインストールする。
$ uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
spec-kit でプロジェクト作成する。
$ specify init toeic-p5-quiz
プロジェクト作成時に下記を問われるので回答する。
- AI Assistant:
codexを選択 - スクリプトファイルの種類:
sh(bash/zsh)を選択
以下、Codex CLI から spec-kit のコマンドで進めていく。
(なお、Codex の場合 /specify のようなスラッシュコマンドではなく、$speckit-specify のように Codex スキルモードで呼び出す。)
原則を作成する。
$speckit-constitution
これはTOEICのPart5問題を練習できるアプリです。シンプルで直感的に使えること、わかりやすいUIと即時反映を実現する。開発は小さな単位で進め、最小限機能を繰り返し改善していくこと。
仕様を作成する。
$speckit-specify
TOEICのPart5の練習問題をランダムに出題する。
問題および回答選択肢は実際の問題と類似した形式にする。
選択肢から選んで解答したら即座に正誤と解説を表示する。
その後、次の問題へ移動して練習を何度も繰り返せる。
アプリは単一ユーザーの利用を想定し、ブラウザで利用できる。
モバイル端末に最適化したUIを提供する。
技術計画を作成する。
$speckit-plan
アプリ構成はCloudFlare Pagesでリリース可能な形式を考慮する。
ローカルではdocker開発環境としてブラウザ確認できるようにする。
フロントエンドはhtml,css,JavaScriptで実装する。
データの永続化が必要な場合、ローカルストレージを使用する。
タスクリストを作成する。
$speckit-tasks
仕様・計画・タスクなどの整合性をチェックする。
$speckit-analyze
実装する。
$speckit-implement
その後、個別に指示を出して仕上げていく。
- 始めから問題なく動作するものができた。
- 始めの仕様が明確でないとその部分はよしなに作ってくれる。
- 始めから詳細仕様を用意して完成度を求めるか、ざっくり作って後からブラッシュアップしていくか。
- タスクまで作成できればかなり仕様に落とせているので作業再開も容易。
- 実装工程で変更点があれば仕様書にも都度反映しておくと再開時にコンテキストを維持できてよい。
- そこそこ実装した時点での
/statusより(この程度のアプリならすごくコンテキスト消費するわけでもない)Context window: 99% left (14.1K used / 258K)