SOCLE(ソクル)メソッド
5つの連続したステップからなるデジタルプロダクト作成フレームワーク。各ステップは具体的な成果物を生み出し、それが次のステップへのインプットとなります。
原則
最初の目に見える機能を構築する前に、完全な準備を整えます。各決定は1回だけ、順序通りに行われます。技術基盤は、後で構築するものも含めて一気に整備します。開発は短いインクリメントで進め、それぞれが完了しデプロイされてから次のインクリメントに移ります。
5つのステップ
S — 構造化(Structurer les choix)
重要な決定から始めます。誰に向けて、どんな問題を解決するのか、どの技術を使うのか、どう計測するのか。一つずつ順序よく進め、それぞれが次の決定への扉を開きます。
このステップの成果物:
- プロダクトビジョン(1文)
- ユーザーターゲット(プライマリペルソナ、セカンダリペルソナ)
- 解決する問題(具体的、測定可能)
- 確定した技術スタック
- 選択したビジュアル方向性
- 特定した収益モデル(フリーミアムでも後でも可)
- プロダクト名
進め方:
- クローズドな選択肢でフレーミングの質問をする(自由なブレインストーミングは行わない)
- 各決定を確定してから次の決定に進む
- 確定した決定をテーブルにまとめる
- 競合と差別化要因を特定する
references/structurer-checklist.md を参照して、取るべき全決定の完全なリストを確認してください。
O — 準備(Outiller le terrain)
すべての準備を一気に行います。データベース、ページ、認証、トラッキング、規約。後で構築するものも含めて、すべて準備します。
このステップの成果物:
- 確定したルーティング構造(URLは今後変更しない)
- 完全なデータベーススキーマ(V0.1で使用しないテーブルも含むすべて)
- CSSデザイントークン(変数、タイポグラフィ、色、スペーシング)
- アニメーションバリアント(Framer Motionまたは同等品)
- アナリティクスタグ計画(イベント、コンバージョンファネル)
- CI/CDパイプライン(lint、型チェック、テスト、自動ビルド)
- CLAUDE.mdファイル(Claude Code用のプロジェクト指示)
- CURRENT_INCREMENT.mdファイル(最初のインクリメントのスコープ)
- ミドルウェア設定(認証、リダイレクト、セキュリティヘッダー)
- 文書化された環境変数
進め方:
- 完全なルーティング構造を生成する(マーケティング、認証、アプリ、管理、API)
- 完全なSQLスキーマ(enum、インデックス、RLS、トリガーを含む)を記述する
- デザインシステムを設定する(globals.css + tailwind.config.ts)
- プロジェクトコンテキストファイルを作成する(CLAUDE.md、ARCHITECTURE.mdなど)
- プロジェクトをスキャフォールドし、すべての依存関係をインストールし、最初のコミットを行い、デプロイする
references/outiller-templates.md を参照して、各ファイルのテンプレートを確認してください。
C — 部品ごとに構築(Construire par pièces)
短いインクリメントで進めます。各インクリメントは、表示、テスト、使用が可能な完全なものになります。最初から最後まで機能する、本物のプロダクトのかけらです。
原則:
- 各インクリメントはCURRENT_INCREMENT.mdに記述されたクローズドなスコープを持つ
- 各インクリメントにはテスト可能な完了条件がある
- 各インクリメントにはスコープ外の項目の明示的なリストがある
- タスクは順序付けられている:各タスクは前のタスクにのみ依存する
- 各タスクは「コード→テスト→確認→コミット」のサイクルに従う
インクリメントの構造:
# V0.X — [インクリメント名]
## 目標
[このインクリメントの終了時にユーザーが何をできるようになるか]
## タスク(順番通り)
[詳細なタスクの番号付きリスト]
## 完了条件
[具体的な確認項目のリスト]
## スコープ外
[このインクリメントに含まれないものの明示的なリスト]
各タスク後の体系的な確認事項:
- 型チェックが通る
- テストが通る
any型がない- propsが型付けされている
- API入力が検証されている
- コミットがConventional Commitsに従っている
L — 各段階でリリース(Livrer à chaque étape)
各ピースは、次のピースに進む前にオンラインに上がり、実際のユーザーの手に渡ります。フィードバックが早く届き、調整も早く行われます。
原則:
- 各インクリメントは完了次第、本番(またはプレビュー)環境にデプロイされる
- デプロイは自動化されている(mainへのpush = Vercelデプロイ)
- 本番エラーは即座に検出される(モニタリング、エラーバウンダリ)
- アナリティクスイベントは最初のインクリメントから有効
- 前のインクリメントが安定してから次のインクリメントを開始する
リリースチェックリスト:
- CIでビルドが通る
- 本番環境でコンソールエラーがゼロ
- ページにメタデータがある(title, description)
- レスポンシブ対応が機能する(モバイルで確認)
- アナリティクスイベントがトラッキングされている
- URLにアクセス可能で機能する
E — 再構築せずに拡張(Élargir sans reprendre)
プロダクトは自然に成長します。新機能は既存のものの上に構築され、デザインは進化し、統合が接続されます。最初から準備が整っていたため、構造は安定したままです。
原則:
- 新しいインクリメントは以前のインクリメントを無効にしない
- DBテーブルは既に準備済み(ステップOで追加済み)
- CSS変数を使用すると、コンポーネントに触れずにスタイルを変更できる
- ルートは安定している(URLは変更されない)
- コード規約は最初のインクリメントから最後のインクリメントまで同じ
インクリメントを追加するとき:
- CURRENT_INCREMENT.mdを新しいスコープで更新する
- 基盤(ステップO)が必要性をカバーしていることを確認する
- テーブルやルートが不足している場合:再構築ではなく、マイグレーションで追加する
- V0.1と同じ規約に従ってコード作成、テスト、デプロイを行う
新規プロジェクトへのSOCLEの適用方法
完全なシーケンス
1. 構造化
│ フレーミング会話(クローズドクエスチョン)
│ 確定した決定のテーブル
│ ビジョン、ターゲット、スタック、収益化
↓
2. 準備
│ すべての基盤ファイルを生成
│ ルート、DB、トークン、アナリティクス、CI/CD
│ スキャフォールド、デプロイ、最初の空コミット
↓
3. 構築(V0.1)
│ 最初のインクリメント:最小限の核
│ 認証 + 1つのコア機能 + 1つのエクスポート
│ テスト、コミット、デプロイ
↓
4. リリース(V0.1)
│ 本番環境、実際のユーザーによるテスト
│ アナリティクス有効、エラーモニタリング
│ V0.2に進む前に安定化
↓
5. 拡張(V0.2、V0.3...)
│ 各インクリメントはC → Lに従う
│ 基盤が成長を吸収
│ 再構築は不要
生成するプロジェクトファイル(ステップO)
| ファイル | 役割 |
|---|---|
CLAUDE.md | Claude Codeの指示:規約、ワークフロー、確認事項 |
CURRENT_INCREMENT.md | 現在のインクリメントのスコープ、順序付けられたタスク、完了条件 |
ARCHITECTURE.md | 確定済みルート、ファイル構造、データフロー |
DB_SCHEMA.sql | データベースの完全なスキーマ |
DESIGN_TOKENS.md | CSS変数、Tailwind設定、アニメーションバリアント |
AGENT_PROMPTS.md | プロジェクトがAIエージェントを使用する場合のシステムプロンプト |
ROADMAP.md | 計画されている全インクリメントの概要 |
複雑性監査(SとOの間)
ステップOに進む前に、プロジェクトの全コンポーネントを棚卸し、複雑性を評価します。複雑性「高」のコンポーネントが5つを超える場合は、さらに多くのインクリメントに分割します。ルール:各インクリメントには最大3~5個の新しいコンポーネントを含めます。
| コンポーネント | 複雑性 | 予定インクリメント |
|---|---|---|
| [名前] | 低 / 中 / 高 | V0.X |
プロジェクトが大聖堂のように大きく(20コンポーネント以上、複雑性「高」が6以上)なる場合は、スコープを見直します。V0.1を、1人で1~2週間で達成可能になるまで簡略化します。
推奨技術スタック
SOCLEメソッドはあらゆるスタックで機能します。ユーザーに特に希望がない場合のデフォルトスタックは以下の通りです。
| 層 | 技術 |
|---|---|
| フレームワーク | Next.js 14+ (App Router) |
| 言語 | TypeScript strict |
| スタイリング | Tailwind CSS + shadcn/ui |
| アニメーション | Framer Motion |
| 状態管理 | Zustand |
| 認証 | Supabase Auth |
| データベース | Supabase (PostgreSQL) |
| バリデーション | Zod |
| テスト | Vitest + Testing Library |
| CI/CD | GitHub Actions |
| デプロイ | Vercel |
ユーザーが異なるスタックを使用する場合は、ステップOのテンプレートをそれに合わせて調整します。SOCLEの原則はスタックに関係なく同じです。
トーンと姿勢
SOCLEをユーザーと適用するときの姿勢:
- プロフェッショナルで、成熟した、会話的なトーン
- 明確で直接的に役立つ文章
- 非開発者と話すときは、説明なしの技術用語は使わない
- 上から目線は避ける
- 修辞的な構文(「Xではなく、Yです」など)は使わない
- 導き、伝え、一緒に進む