これは「仕様駆動開発(Spec Driven Development - SDD)」のプロセスを実演するために作成された、シンプルなカウンター機能を持つWebサイトです。
このプロジェクトは、ユーザーがボタンをクリックするたびに数値が1ずつ増加するカウンターを実装しています。Webサイト自体は基本的なHTML, CSS, JavaScriptで構築されていますが、その最大の特徴はコードが書かれる前にspecsディレクトリ内に詳細な「仕様」が定義されている点にあります。
- カウンター表示: 画面に数値が表示されます。初期値は
0です。 - インクリメント機能: 「Increment」ボタンをクリックすると、カウンターの数値が
1増加します。 - リセット機能: ブラウザでページをリロード(F5キーなど)すると、カウンターは
0にリセットされます。
index.html: Webページの基本的な骨格を定義するHTMLファイル。style.css: ページの見た目を整えるCSSファイル。script.js: カウンター機能のロジックを実装するJavaScriptファイル。specs/: プロジェクトの仕様書を格納するディレクトリ。001-create-a-simple/spec.md: このカウンター機能の要求仕様、ユーザーストーリー、受け入れ基準などが定義されています。
scripts/: 開発ワークフローを補助するシェルスクリプト群。
このプロジェクトでは、一般的な「まずコードを書く」アプローチとは異なり、仕様駆動開発の考え方を採用しています。
- 要求の定義:
specs/001-create-a-simple/spec.mdにあるように、まず自然言語で書かれたユーザーの要求を分析します。 - 仕様の明確化: 次に、その要求を具体的な「ユーザーストーリー」「受け入れシナリオ」「機能要件」に落とし込みます。これにより、開発者とステークホルダー間の認識齟齬を防ぎます。
- 実装: 明確化された仕様に基づいて、HTML, CSS, JavaScriptのコーディングを行います。
このアプローチにより、手戻りが少なく、要求に基づいた確実なプロダクト開発を目指します。
- このリポジトリをクローンまたはダウンロードします。
- お使いのWebブラウザで
index.htmlファイルを開いてください。
特別なサーバーやビルドプロセスは不要です。