Skip to content

作業履歴 2025-08-05

概要

2025-08-05の作業内容をまとめています。

コミット: d271c0d

メッセージ

docs: Phase 1要件フェーズの完全実装
## 主要成果物
- ADRファイル: 7個(技術選定記録)
- 要件設計書: 5個(ユーザーストーリー、ユースケース等)
- システム設計書: 5個(データモデル、アーキテクチャ等)
- テンプレートファイル: 2個

## 実装内容
### アーキテクチャ決定記録 (ADR)
- TypeScript、Vitest、Canvas API、TDD、GitHub Actions、Vercelの採用決定
- 各技術選定の理由と影響を明文化

### 要件設計
- 11のユーザーストーリー詳細化(55ストーリーポイント)
- 10の主要ユースケース詳細化
- 包括的な非機能要件定義
- 段階的リリース計画策定

### システム設計
- レイヤードアーキテクチャ(4層構造)
- DDD原則に基づくドメインモデル設計
- データモデル設計(7つの主要エンティティ)
- レスポンシブUI設計
- 3層テスト戦略(単体・統合・E2E)

## ディレクトリ構造改善
- docs/requirements/: 要件定義系ドキュメント
- docs/design/: システム設計系ドキュメント
- docs/adr/: アーキテクチャ決定記録
- mkdocs.yml: navigation構造を論理的に整理

## 品質指標
- TODO完了率: 11/11 (100%)
- PlantUML図: 20+個作成
- 総ページ数: 50+ページ
- Phase 2への実装準備: 完了

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

変更されたファイル

  • A docs/adr/0001-adopt-typescript.md
  • A docs/adr/0002-adopt-vitest.md
  • A docs/adr/0003-adopt-canvas-api.md
  • A docs/adr/0004-adopt-tdd-approach.md
  • A docs/adr/0005-adopt-github-actions.md
  • A docs/adr/0006-adopt-vercel.md
  • A docs/adr/index.md
  • A docs/design/index.md
  • A "docs/design/\343\202\242\343\203\274\343\202\255\343\203\206\343\202\257\343\203\201\343\203\243\350\250\255\350\250\210.md"
  • A "docs/design/\343\203\206\343\202\271\343\203\210\346\210\246\347\225\245.md"
  • A "docs/design/\343\203\207\343\203\274\343\202\277\343\203\242\343\203\207\343\203\253\350\250\255\350\250\210.md"
  • A "docs/design/\343\203\211\343\203\241\343\202\244\343\203\263\343\203\242\343\203\207\343\203\253\350\250\255\350\250\210.md"
  • A "docs/design/\343\203\246\343\203\274\343\202\266\343\203\274\343\202\244\343\203\263\343\202\277\343\203\274\343\203\225\343\202\247\343\203\274\343\202\271\350\250\255\350\250\210.md"
  • A "docs/requirements/\343\203\246\343\203\274\343\202\266\343\203\274\343\202\271\343\203\210\343\203\274\343\203\252\343\203\274\350\251\263\347\264\260.md"
  • A "docs/requirements/\343\203\246\343\203\274\343\202\271\343\202\261\343\203\274\343\202\271\350\251\263\347\264\260.md"
  • A "docs/requirements/\350\246\201\344\273\266.md"
  • A "docs/requirements/\351\201\213\347\224\250\350\246\201\344\273\266\343\201\250\343\203\252\343\203\252\343\203\274\343\202\271\350\250\210\347\224\273.md"
  • A "docs/requirements/\351\235\236\346\251\237\350\203\275\350\246\201\344\273\266.md"
  • A docs/template/ADR.md
  • A "docs/template/\350\250\255\350\250\210.md"
  • M mkdocs.yml

変更内容

commit d271c0d9919bc7c5b72315002ff33780d47631e2
Author: k2works <kakimomokuri@gmail.com>
Date:   Tue Aug 5 13:17:28 2025 +0900

    docs: Phase 1要件フェーズの完全実装

    ## 主要成果物
    - ADRファイル: 7個(技術選定記録)
    - 要件設計書: 5個(ユーザーストーリー、ユースケース等)
    - システム設計書: 5個(データモデル、アーキテクチャ等)
    - テンプレートファイル: 2個

    ## 実装内容
    ### アーキテクチャ決定記録 (ADR)
    - TypeScript、Vitest、Canvas API、TDD、GitHub Actions、Vercelの採用決定
    - 各技術選定の理由と影響を明文化

    ### 要件設計
    - 11のユーザーストーリー詳細化(55ストーリーポイント)
    - 10の主要ユースケース詳細化
    - 包括的な非機能要件定義
    - 段階的リリース計画策定

    ### システム設計
    - レイヤードアーキテクチャ(4層構造)
    - DDD原則に基づくドメインモデル設計
    - データモデル設計(7つの主要エンティティ)
    - レスポンシブUI設計
    - 3層テスト戦略(単体・統合・E2E)

    ## ディレクトリ構造改善
    - docs/requirements/: 要件定義系ドキュメント
    - docs/design/: システム設計系ドキュメント
    - docs/adr/: アーキテクチャ決定記録
    - mkdocs.yml: navigation構造を論理的に整理

    ## 品質指標
    - TODO完了率: 11/11 (100%)
    - PlantUML図: 20+個作成
    - 総ページ数: 50+ページ
    - Phase 2への実装準備: 完了

    🤖 Generated with [Claude Code](https://claude.ai/code)

    Co-Authored-By: Claude <noreply@anthropic.com>

diff --git a/docs/adr/0001-adopt-typescript.md b/docs/adr/0001-adopt-typescript.md
new file mode 100644
index 0000000..22f12b7
--- /dev/null
+++ b/docs/adr/0001-adopt-typescript.md
@@ -0,0 +1,41 @@
+# ADR-0001: TypeScriptの採用
+
+## ステータス
+
+承認済み
+
+## コンテキスト
+
+ぷよぷよゲームをWebブラウザで動作させるアプリケーションを開発する必要がある。
+開発言語を選定するにあたり、以下の要件を考慮する必要がある:
+
+- ブラウザでの動作が必要
+- ゲームロジックの複雑性に対応できる型安全性
+- テスト駆動開発を実践できる環境
+- 開発効率とメンテナンス性
+- 連鎖処理やスコア計算などの複雑な計算ロジック
+
+## 決定
+
+TypeScriptを開発言語として採用する。
+
+## 理由
+
+- **型安全性**: 静的型付けによりコンパイル時にエラーを検出でき、ぷよの色や位置座標、連鎖計算などの複雑なゲームロジックの実装において高い安全性を確保できる
+- **開発効率**: IDEの補完機能やリファクタリング支援が充実しており、大量のゲームロジックの実装において生産性が高い
+- **テスト環境**: Vitestなどの優れたテストツールが利用可能で、TDD実践に適している
+- **エコシステム**: npmによる豊富なライブラリとツールが利用可能
+- **ブラウザ互換性**: TypeScriptはJavaScriptにトランスパイルされるため、すべてのモダンブラウザで動作する
+- **保守性**: 型情報により複雑なゲーム状態の管理が容易になる
+
+## 結果
+
+### 良い結果
+- 型による安全性の向上(ぷよの状態、座標、色などの管理が安全)
+- 開発効率の向上(IDEサポートによる開発支援)
+- テスト駆動開発の実践が容易
+- 複雑なゲームロジックの実装における安全性
+
+### 悪い結果
+- ビルドプロセスが必要
+- 学習コストが発生する可能性
\ No newline at end of file
diff --git a/docs/adr/0002-adopt-vitest.md b/docs/adr/0002-adopt-vitest.md
new file mode 100644
index 0000000..3025273
--- /dev/null
+++ b/docs/adr/0002-adopt-vitest.md
@@ -0,0 +1,42 @@
+# ADR-0002: Vitestの採用
+
+## ステータス
+
+承認済み
+
+## コンテキスト
+
+TypeScriptプロジェクトにおいてテスト駆動開発を実践するため、適切なテスティングフレームワークを選定する必要がある。
+ぷよぷよゲームのような複雑なゲームロジック(連鎖処理、消去判定、スコア計算等)を安全に実装するために、効果的なテスト環境が必要。
+
+選定にあたっての要件:
+- TypeScriptとの親和性
+- 高速なテスト実行(TDDサイクルの高速化)
+- 使いやすいAPI
+- ウォッチモードのサポート
+- ゲームロジックのテストに適した機能
+
+## 決定
+
+Vitestをテスティングフレームワークとして採用する。
+
+## 理由
+
+- **高速**: Viteベースで動作し、高速なテスト実行が可能。TDDのRed-Green-Refactorサイクルを高速で回せる
+- **TypeScript対応**: TypeScriptを標準でサポートし、追加設定が最小限
+- **Jest互換**: Jest互換のAPIを提供し、学習コストが低い
+- **ウォッチモード**: ファイル変更を検知して自動的にテストを再実行。連続的な開発に適している
+- **ESM対応**: ES Modulesを標準でサポート
+- **ゲームテスト対応**: モック機能やスパイ機能により、ゲーム状態やイベントのテストが容易
+
+## 結果
+
+### 良い結果
+- テスト実行速度の向上によるTDDサイクルの高速化
+- 開発体験の向上
+- 設定の簡素化
+- ゲームロジックの安全な実装
+
+### 悪い結果
+- Jestからの移行が必要な場合がある
+- 比較的新しいツールのため、一部のエコシステムが未成熟な可能性
\ No newline at end of file
diff --git a/docs/adr/0003-adopt-canvas-api.md b/docs/adr/0003-adopt-canvas-api.md
new file mode 100644
index 0000000..ea488ed
--- /dev/null
+++ b/docs/adr/0003-adopt-canvas-api.md
@@ -0,0 +1,45 @@
+# ADR-0003: Canvas APIの採用
+
+## ステータス
+
+承認済み
+
+## コンテキスト
+
+ぷよぷよゲームの描画システムを実装するにあたり、適切な描画技術を選定する必要がある。
+ゲームでは以下の描画要件がある:
+
+考慮すべき要件:
+- 2Dグラフィックスの描画(ぷよ、フィールド、スコア表示)
+- アニメーション処理(落下、消去、連鎖エフェクト)
+- パフォーマンス(60FPSでの滑らかな描画)
+- ブラウザ互換性
+- 学習コスト
+- ゲームに必要な基本図形描画(矩形、円、テキスト)
+
+## 決定
+
+HTML5 Canvas APIを描画システムとして採用する。
+
+## 理由
+
+- **2Dグラフィックス**: ぷよぷよゲームに必要な2D描画機能(矩形、円、テキスト描画)が十分に提供されている
+- **パフォーマンス**: ハードウェアアクセラレーションにより高速な描画が可能で、60FPSのゲーム描画に適している
+- **標準技術**: 追加のライブラリなしで使用可能な標準Web API
+- **ブラウザサポート**: すべてのモダンブラウザでサポートされている
+- **シンプル**: 学習コストが低く、実装がシンプル
+- **ゲーム向け機能**: フレームバッファ、座標変換、色彩管理などゲーム描画に必要な機能が揃っている
+- **デバッグ容易性**: ブラウザ開発者ツールでの描画処理の確認が可能
+
+## 結果
+
+### 良い結果
+- 外部依存がない
+- 高速な描画パフォーマンス
+- 実装の透明性
+- ぷよゲームに必要な基本図形描画の実装が容易
+
+### 悪い結果
+- 低レベルAPIのため、ゲームエンジンに比べて実装量が多い
+- 複雑なアニメーションには追加の実装が必要
+- 画像リソース管理は自前で実装する必要がある
\ No newline at end of file
diff --git a/docs/adr/0004-adopt-tdd-approach.md b/docs/adr/0004-adopt-tdd-approach.md
new file mode 100644
index 0000000..3e571c1
--- /dev/null
+++ b/docs/adr/0004-adopt-tdd-approach.md
@@ -0,0 +1,43 @@
+# ADR-0004: テスト駆動開発(TDD)アプローチの採用
+
+## ステータス
+
+承認済み
+
+## コンテキスト
+
+ぷよぷよゲームの開発において、複雑なゲームロジック(ぷよの移動、回転、消去判定、連鎖処理、スコア計算)を安全かつ効率的に実装する必要がある。
+従来の開発手法では以下の課題がある:
+
+- ゲームロジックの複雑性により、バグの混入リスクが高い
+- 連鎖処理などの複雑な処理の正確性を保証するのが困難
+- 後からのリファクタリングや機能追加の安全性が低い
+- デバッグに時間がかかる
+
+## 決定
+
+テスト駆動開発(TDD)アプローチを開発手法として採用する。
+
+## 理由
+
+- **品質保証**: Red-Green-Refactorサイクルにより、すべての機能が必ずテストされ、高品質なコードが保証される
+- **設計改善**: テストファーストにより、テスタブルで結合度の低い設計になる
+- **安全なリファクタリング**: 包括的なテストスイートにより、リファクタリングが安全に実行できる
+- **ドキュメント効果**: テストコードが実行可能な仕様書として機能する
+- **複雑なロジックの理解**: 連鎖処理やスコア計算などの複雑なロジックをテストケースで明確化できる
+- **デバッグ効率**: 問題が発生した際に、テストにより問題箇所を特定しやすい
+- **継続的改善**: 各イテレーションでの安全な機能追加が可能
+
+## 結果
+
+### 良い結果
+- ゲームロジックの正確性保証
+- 安全なリファクタリングによるコード品質向上
+- テストコードによる仕様の明確化
+- バグの早期発見と修正
+- 継続的な機能追加の安全性
+
+### 悪い結果
+- 開発初期の時間投資が必要
+- テストコードの記述・維持コストが発生
+- 学習コストが発生する可能性
\ No newline at end of file
diff --git a/docs/adr/0005-adopt-github-actions.md b/docs/adr/0005-adopt-github-actions.md
new file mode 100644
index 0000000..3038a7c
--- /dev/null
+++ b/docs/adr/0005-adopt-github-actions.md
@@ -0,0 +1,44 @@
+# ADR-0005: GitHub Actionsの採用
+
+## ステータス
+
+承認済み
+
+## コンテキスト
+
+継続的インテグレーション(CI)とデプロイメント(CD)の環境を構築する必要がある。
+以下の要件を満たす必要がある:
+
+- 自動化されたテスト実行
+- ビルドプロセスの自動化
+- コード品質チェック(リント、フォーマット)
+- 自動デプロイメント
+- GitHubとの統合
+- 学習コストと運用コスト
+
+## 決定
+
+GitHub Actionsを CI/CD プラットフォームとして採用する。
+
+## 理由
+
+- **GitHub統合**: GitHubリポジトリとネイティブに統合されており、設定が簡潔
+- **無料プラン**: パブリックリポジトリでは無料で利用可能
+- **豊富なアクション**: npmパッケージのインストール、テスト実行、デプロイなど、必要なアクションが充実
+- **設定の簡単さ**: YAMLファイルによる設定で、学習コストが低い
+- **スケーラビリティ**: 必要に応じてワークフローを拡張可能
+- **Node.js対応**: TypeScript/Node.jsプロジェクトに最適化されたアクションが利用可能
+- **並列実行**: テストとビルドを並列実行して高速化が可能
+
+## 結果
+
+### 良い結果
+- 自動化されたテスト実行による品質保証
+- 手動デプロイの削減によるヒューマンエラー防止
+- GitHub統合による開発フローの統一
+- 開発効率の向上
+
+### 悪い結果
+- GitHub依存が発生
+- 複雑なワークフローでは設定が煩雑になる可能性
+- ビルド時間による開発速度への影響
\ No newline at end of file
diff --git a/docs/adr/0006-adopt-vercel.md b/docs/adr/0006-adopt-vercel.md
new file mode 100644
index 0000000..f2c5269
--- /dev/null
+++ b/docs/adr/0006-adopt-vercel.md
@@ -0,0 +1,46 @@
+# ADR-0006: Vercelの採用
+
+## ステータス
+
+承認済み
+
+## コンテキスト
+
+ぷよぷよゲームアプリケーションをプロダクション環境にデプロイするため、適切なホスティングプラットフォームを選定する必要がある。
+
+選定にあたっての要件:
+- 静的サイトホスティング(TypeScriptビルド後のHTML/CSS/JS)
+- 高速なデプロイメント
+- 自動デプロイ(GitHub連携)
+- 無料または低コスト
+- グローバルCDN
+- HTTPS対応
+- カスタムドメイン対応
+
+## 決定
+
+Vercelをホスティングプラットフォームとして採用する。
+
+## 理由
+
+- **フロントエンド特化**: 静的サイトとSPAに最適化されたプラットフォーム
+- **GitHub統合**: GitHubと連携した自動デプロイが可能
+- **高速デプロイ**: 数秒から数分での高速デプロイメント
+- **グローバルCDN**: 世界各地のエッジサーバーによる高速配信
+- **無料プラン**: 個人プロジェクトに適した無料プランが利用可能
+- **HTTPS標準**: 自動的にHTTPS化される
+- **プレビューデプロイ**: プルリクエストごとのプレビュー環境が自動作成される
+- **TypeScript対応**: TypeScriptプロジェクトのビルドとデプロイが標準サポート
+
+## 結果
+
+### 良い結果
+- 自動デプロイによる運用効率化
+- グローバルCDNによる高速なゲーム配信
+- プレビューデプロイによる安全な機能検証
+- 運用コストの削減
+
+### 悪い結果
+- Vercel依存が発生
+- 複雑なサーバーサイド処理には不向き(今回は該当なし)
+- トラフィック制限あり(無料プランの場合)
\ No newline at end of file
diff --git a/docs/adr/index.md b/docs/adr/index.md
new file mode 100644
index 0000000..cb73fbd
--- /dev/null
+++ b/docs/adr/index.md
@@ -0,0 +1,58 @@
+# アーキテクチャ決定記録(ADR)
+
+このディレクトリには、ぷよぷよゲーム開発プロジェクトにおける重要な技術的決定事項を記録したアーキテクチャ決定記録(Architecture Decision Records)を保存しています。
+
+## ADR一覧
+
+| ADR | タイトル | ステータス | 決定日 |
+|-----|----------|------------|--------|
+| [ADR-0001](0001-adopt-typescript.md) | TypeScriptの採用 | 承認済み | 2025-08-05 |
+| [ADR-0002](0002-adopt-vitest.md) | Vitestの採用 | 承認済み | 2025-08-05 |
+| [ADR-0003](0003-adopt-canvas-api.md) | Canvas APIの採用 | 承認済み | 2025-08-05 |
+| [ADR-0004](0004-adopt-tdd-approach.md) | テスト駆動開発アプローチの採用 | 承認済み | 2025-08-05 |
+| [ADR-0005](0005-adopt-github-actions.md) | GitHub Actionsの採用 | 承認済み | 2025-08-05 |
+| [ADR-0006](0006-adopt-vercel.md) | Vercelの採用 | 承認済み | 2025-08-05 |
+
+## 技術スタック概要
+
+### フロントエンド
+- **言語**: TypeScript
+- **描画**: HTML5 Canvas API
+- **テスト**: Vitest
+- **開発手法**: テスト駆動開発(TDD)
+
+### CI/CD
+- **CI**: GitHub Actions
+- **ホスティング**: Vercel
+
+### 開発プロセス
+- テスト駆動開発によるイテレーション開発
+- GitHub Actionsによる自動テスト・ビルド・デプロイ
+- Vercelによる継続的デリバリー
+
+## ADRテンプレート
+
+新しいADRを作成する際は、以下の構造に従ってください:
+
+```markdown
+# ADR-XXXX: [決定事項のタイトル]
+
+## ステータス
+[提案中/承認済み/廃止/置換済み]
+
+## コンテキスト
+[決定が必要になった背景や課題]
+
+## 決定
+[実際に行った決定]
+
+## 理由
+[決定の理由と根拠]
+
+## 結果
+### 良い結果
+[期待される良い結果]
+
+### 悪い結果
+[予想される制約や問題]
+```
\ No newline at end of file
diff --git a/docs/design/index.md b/docs/design/index.md
new file mode 100644
index 0000000..ed8e5a5
--- /dev/null
+++ b/docs/design/index.md
@@ -0,0 +1,136 @@
+# 設計ドキュメント
+
+## 概要
+
+このディレクトリには、ぷよぷよゲーム(Case3)の設計に関するドキュメントを格納しています。システムの構造、データモデル、ユーザーインターフェース、テスト戦略など、開発に必要な設計情報を体系的に整理しています。
+
+## 設計ドキュメント一覧
+
+### システム設計
+
+| ドキュメント | 概要 | 対象読者 |
+|--------------|------|----------|
+| [データモデル設計](データモデル設計.md) | エンティティ、値オブジェクト、データフローの設計 | 開発者、アーキテクト |
+| [アーキテクチャ設計](アーキテクチャ設計.md) | レイヤードアーキテクチャとコンポーネント設計 | アーキテクト、リードエンジニア |
+| [ドメインモデル設計](ドメインモデル設計.md) | DDD原則に基づくドメイン設計 | ドメインエキスパート、開発者 |
+
+### ユーザー体験設計
+
+| ドキュメント | 概要 | 対象読者 |
+|--------------|------|----------|
+| [ユーザーインターフェース設計](ユーザーインターフェース設計.md) | UI/UXデザイン、レスポンシブ対応 | UI/UXデザイナー、フロントエンド開発者 |
+
+### 品質保証設計
+
+| ドキュメント | 概要 | 対象読者 |
+|--------------|------|----------|
+| [テスト戦略](テスト戦略.md) | TDD、テストピラミッド、品質保証戦略 | QAエンジニア、開発者全員 |
+
+## 設計原則
+
+### 1. 関心の分離
+- 各設計ドキュメントは明確な責任範囲を持つ
+- レイヤー間の依存関係を最小化
+- 変更影響範囲の局所化
+
+### 2. 拡張性
+- 新機能追加に対する柔軟性
+- プラットフォーム対応の余地
+- 国際化・アクセシビリティ対応
+
+### 3. 保守性
+- 理解しやすい設計
+- テスタブルな構造
+- ドキュメント化された決定プロセス
+
+## 設計の関連性
+
+<img src="data:image/svg+xml;base64,PGgxPkJhZCBNZXNzYWdlIDQxNDwvaDE+PHByZT5yZWFzb246IFVSSSBUb28gTG9uZzwvcHJlPg==" class="uml" alt="uml diagram" title="" />

## コミット: 8ad12a1

### メッセージ
docs: add CLAUDE.md with development guidelines and process diagrams
### 変更されたファイル

- A CLAUDE.md

### 変更内容

```diff
commit 8ad12a1266ec69b4a9cfd2519d1c76cb670094f7
Author: k2works <kakimomokuri@gmail.com>
Date:   Tue Aug 5 13:15:22 2025 +0900

    docs: add CLAUDE.md with development guidelines and process diagrams

diff --git a/CLAUDE.md b/CLAUDE.md
new file mode 100644
index 0000000..901a7c9
--- /dev/null
+++ b/CLAUDE.md
@@ -0,0 +1,149 @@
+\# CLAUDE.md
+
+ここで**必ず**と指示されていることは絶対に実施してください
+
+日本語で回答してください
+
+あなたは**よいソフトウェア**に対する明確な考えと\*\*よいソフトウェア\*\*を作るための規律を持った開発経験豊富な開発者です。
+
+よいソフトウェアについては @docs/reference/よいソフトウェアとは.md を参照してください。
+
+よいソフトウェアについての考えと規律と経験に関する知見は @docs/reference 内を参照してください。
+
+あなたは @docs/reference/開発ガイド.md に従いソフトウェア開発を手段として問題解決に取り組みます。
+
+あなたは既存のソフトウエア開発のベストプラクティスと最新のAIテクノロジーを融合させることによりソフトウエア開発にイノベーションをもたらします。
+
+<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBjb250ZW50U3R5bGVUeXBlPSJ0ZXh0L2NzcyIgaGVpZ2h0PSIxMjBweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSIgc3R5bGU9IndpZHRoOjQwOXB4O2hlaWdodDoxMjBweDtiYWNrZ3JvdW5kOiMwMDAwMDA7IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA0MDkgMTIwIiB3aWR0aD0iNDA5cHgiIHpvb21BbmRQYW49Im1hZ25pZnkiPjxkZWZzLz48Zz48cmVjdCBmaWxsPSIjMTkwRDE3IiBoZWlnaHQ9IjEiIHN0eWxlPSJzdHJva2U6IzE5MEQxNztzdHJva2Utd2lkdGg6MTsiIHdpZHRoPSIxIiB4PSIwIiB5PSIwIi8+PHRleHQgZmlsbD0iIzMzRkYwMiIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTIiIGZvbnQtc3R5bGU9Iml0YWxpYyIgZm9udC13ZWlnaHQ9ImJvbGQiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iMTI4LjAwOTgiIHg9IjUiIHk9IjE3Ij5QbGFudFVNTCAxLjIwMjUuNDwvdGV4dD48cmVjdCBmaWxsPSIjMzNGRjAyIiBoZWlnaHQ9IjIxLjI5NjkiIHN0eWxlPSJzdHJva2U6IzMzRkYwMjtzdHJva2Utd2lkdGg6MTsiIHdpZHRoPSIxNzMuMjgxMyIgeD0iNSIgeT0iMjYuOTY4OCIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjE0IiBmb250LXdlaWdodD0iYm9sZCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSIxNzEuMjgxMyIgeD0iNiIgeT0iNDEuOTY4OCI+W0Zyb20gc3RyaW5nIChsaW5lIDIpIF08L3RleHQ+PHRleHQgZmlsbD0iIzMzRkYwMiIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGZvbnQtd2VpZ2h0PSJib2xkIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjQuODc0IiB4PSI1IiB5PSI2Mi4yNjU2Ij4mIzE2MDs8L3RleHQ+PHRleHQgZmlsbD0iIzMzRkYwMiIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGZvbnQtd2VpZ2h0PSJib2xkIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjgxLjQyMjkiIHg9IjUiIHk9Ijc4LjU2MjUiPkBzdGFydHVtbDwvdGV4dD48dGV4dCBmaWxsPSIjMzNGRjAyIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgZm9udC13ZWlnaHQ9ImJvbGQiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dC1kZWNvcmF0aW9uPSJ3YXZ5IHVuZGVybGluZSIgdGV4dExlbmd0aD0iMTEuNzMwNSIgeD0iNSIgeT0iOTQuODU5NCI+KzwvdGV4dD48dGV4dCBmaWxsPSIjRkYwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgZm9udC13ZWlnaHQ9ImJvbGQiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iMzkyLjMzNSIgeD0iOS44NzQiIHk9IjExMS4xNTYzIj5TeW50YXggRXJyb3I/IChBc3N1bWVkIGRpYWdyYW0gdHlwZTogc2VxdWVuY2UpPC90ZXh0PjwhLS1TUkM9W2xMVlRKempNNTdfRk50NmJsOEhQRjlKNzhBc1FENmFGVXEyUXpaUEQ4V0s3OGZhYVNYbmpySkdmcm1RUTNyMUhBUjBFc2VvRjRZMzVtRDlIMmNKdk9zeGlFNF96NXRSRWxOUllYMVoyb1lQNWlOcy1weGNfU3RtaVhJR2plSWFvUVEtTk1neWtjUjcxWjZFY05wN3o4d0RjZ3RYa0J2SlF6NEVoU2NManJhOUlJRmhYWW5fOXdFWU5uRGNkcFFscGEySWtkMkhDVDRiZ09jUE1HcGVqakx1VVgySG45UUVBN0RUeTVlSFE4N2MwMFB5bEZzYlhrTEt0a3dIaTZlWHNmVEd3QU9HYVNIcWVYcEo4MmZGQlEzNURUWUNXT0xNVXphWWtVYlg5cENhcGdZbWRGT1BoOTluSU95YVBrS0NMaU9WSk1KTWpUQWRTQ0hnMWtabkhpWkF3ZDlvU240aXV0NGNTcXo5QUJBYmJ2bkh5eDFRVDZLVnlUbXQ3cXV0TkpvTV9YMkgyeENrU1Nyd3BOcy0zbUtUSHlrYXdwdW56QmQwa245WUhubmtYYlFGRG90cEJ0ODBSUEViZEpCelduYmlrSzFzdk9HeVp5UmxhYzNiYUhlcVA5VnBOSnI3YlRXY1VKT19MYUZJaEJvRHpabmNCcDdaN3pKeW1lbTlnOGhMeHNYdGgzdF9pV1NpbjlXdmNLQzAxWEhiRVQ3MGN6cjdzTWVHR05vaW5PdXRma3BtTm9lblRIZlVTSGpxZ19pNGVxOVNPQk9rTTV2S1VJbEhjZTJKZ3JvcW1PdUtQMWpERkZpVmVlczJaNzNTekZVM2hRNy0zVUdNdmhTNDZyVFN2b0JUVU5lNkZPQVBSc3ExR0RValJUZHU1bXhuM2ZDU0cxbi1fd1RWbHZ4WjFyeFlyUHhuQVkwRDYzcDFZeFdaWnQtNHdudm5zOGF4MEVKWTY1OFJLbHV0bGNXWHFXUzRfdXltNkN0UnVWVk0xZEdWT0h5eTBjNnItVmhOX3A3Y1dZbzdyX1NaV0xaMkhRbXh3WVpaaFJaaDNvWnZTVGU2ODcwT0swdVNNRkF3QWtIaEdNZHdIVnpjVERxcHFadUxIT1pLTTZGcnplQlFyXzVrcGxpbmVuTHNFejFWRURpb2VIUXZNVWNxTkllbk14TlZSaTJhRHphd2h4VG9WWkZ4RHcxNlp5czhDWFV5eVp4eHZUNkRPbUpqSXJLOUlERVhHbmU3dF9TSk40cFhOa0NhRUVJSWZTYmdFUUpZOWtLWVJOalo1RHZuM0k5UzdONmxscDV4Unc0SmJaZmQ4VF9CcW9CV2hPY19iaERGZGJiYnNUWFQ4djFqU1lwZXlGakMwWlRpdTFIMlNILXdSMklwNE9yRFFJa3M4TWdsS2dIdFhnNDNpdWFudEVPYXVZR1pjbkJVRkh1V3NBb1Q5dkFjUzZINWl6OEFMQkFFSWFOVUxQMktaYXFXb3JITGdEYXB4VURUWjl3U0p5TXdvdkFWUDEyb180UW81UEl1ckJuU1ZadEpCdjc2alhPRC1XVVlUU0NESk9GR2xmWFNQMVBwYXVNT1Nwb3dMeFdFV0ZtYjZKbUdVa0p5RlZiMVlVeHRFdzJrY2JzdmdjNU8xWEFmMkp6SWhqTkZmNzJxM05kaXJpRzAxc2NHb2NQdVpRWlA5RDNjWkpIQVhvLTYtbVVYLTFtVm1tYVBoNUJ1RXpqaXZRMWo4UkhOWGd4em1kVHg3YnY5ODNsM2JqYVMxVkRiaHh3dHdaaFNTeDRDSlZRUjdVNGdUWV90RkZmemE0eWhxVzk4MktBZ2tvX29BTEltQmVtNlUtaHAwZ21QUnZPZ1p4bTlXeXJMbzlnbDRMM3dBUmY0cHhLdHVOeFJORnM4dXB0S2RQcTJpbFVkNDBWZkhPZy1Wc2VUYm5tM3FjNjk3d18wSkYtQ29qV0JqQjdoQk9xb2RmWjlIX1lSNDFVMGpUcnZwUXg5TmkzVlZVdThQeFFhWWttbFQ4SV95NnBUVVZQdTdNLVA5N0ZDUFFkZVI4aXBHR3h3S1R5eEFqNGZoQzlhR19WTXBUaGQxQXVrWmpqVVR3ZXdTQTBhUUlfb0plOWlHWDI1b3pybk5lQ0IyeWdWaFdjU01FbUxEVWd0WFl5bExxLVR4MnBHcmNyOXZ0anhILXAtdHpOYmRUeWlnR1p0Y25SVTZoc25ZVnRLX1dxRklGbTAwXS0tPjwvZz48L3N2Zz4=" class="uml" alt="uml diagram" title="" />

## コミット: b2b3e12

### メッセージ
docs: add architecture decision records and update documentation structure ```

変更されたファイル

  • A docs/reference/case-2/CLAUDE.local.md
  • A docs/reference/case-2/adr/.gitkeep
  • A docs/reference/case-2/adr/0001-adopt-typescript.md
  • A docs/reference/case-2/adr/0002-adopt-vitest.md
  • A docs/reference/case-2/adr/0003-adopt-canvas-api.md
  • A docs/reference/case-2/adr/0004-adopt-tdd-approach.md
  • A docs/reference/case-2/adr/0005-adopt-github-actions.md
  • A docs/reference/case-2/adr/0006-adopt-vercel.md
  • A docs/reference/case-2/adr/index.md
  • A docs/reference/case-2/development/.gitkeep
  • A docs/reference/case-2/development/index.md
  • A "docs/reference/case-2/development/\343\202\242\343\203\274\343\202\255\343\203\206\343\202\257\343\203\201\343\203\243.md"
  • A "docs/reference/case-2/development/\343\202\242\343\203\274\343\202\255\343\203\206\343\202\257\343\203\201\343\203\243\350\250\255\350\250\210.md"
  • A "docs/reference/case-2/development/\343\203\207\343\203\274\343\202\277\343\203\242\343\203\207\343\203\253\350\250\255\350\250\210.md"
  • A "docs/reference/case-2/development/\343\203\211\343\203\241\343\202\244\343\203\263\343\203\242\343\203\207\343\203\253\350\250\255\350\250\210.md"
  • A "docs/reference/case-2/development/\343\203\246\343\203\274\343\202\266\343\203\274\343\202\244\343\203\263\343\202\277\343\203\274\343\203\225\343\202\247\343\203\274\343\202\271\350\250\255\350\250\210.md"
  • A "docs/reference/case-2/development/\345\256\237\350\243\205.md"
  • A "docs/reference/case-2/development/\350\250\255\350\250\210.md"
  • A "docs/reference/case-2/development/\351\226\213\347\231\272\350\250\210\347\224\273.md"
  • A docs/reference/case-2/index.md
  • A docs/reference/case-2/journal/20250731.md
  • A docs/reference/case-2/journal/20250802.md
  • A docs/reference/case-2/journal/20250804.md
  • A docs/reference/case-2/journal/20250805.md
  • A docs/reference/case-2/journal/index.md
  • A docs/reference/case-2/operation/.gitkeep
  • A "docs/reference/case-2/operation/MkDocs_GitHub_Actions\350\250\255\345\256\232.md"
  • A "docs/reference/case-2/operation/ci-cd\350\250\255\345\256\232.md"
  • A docs/reference/case-2/operation/index.md
  • A "docs/reference/case-2/operation/\343\202\273\343\203\203\343\203\210\343\202\242\343\203\203\343\203\227.md"
  • A docs/reference/case-2/reference/.gitkeep
  • A "docs/reference/case-2/reference/\343\202\210\343\201\204\343\202\275\343\203\225\343\203\210\343\202\246\343\202\247\343\202\242\343\201\250\343\201\257.md"
  • A "docs/reference/case-2/reference/\343\202\242\343\202\270\343\203\243\343\202\244\343\203\253\343\201\252\350\246\213\347\251\215\343\201\250\350\250\210\347\224\273\343\201\245\343\201\217\343\202\212.md"
  • A "docs/reference/case-2/reference/\343\202\250\343\202\257\343\202\271\343\203\210\343\203\252\343\203\274\343\203\240\343\203\227\343\203\255\343\202\260\343\203\251\343\203\237\343\203\263\343\202\260.md"
  • A "docs/reference/case-2/reference/\343\203\206\343\202\271\343\203\210\351\247\206\345\213\225\351\226\213\347\231\272\343\201\213\343\202\211\345\247\213\343\202\201\343\202\213TypeScript\345\205\245\351\226\2001.md"
  • A "docs/reference/case-2/reference/\343\203\206\343\202\271\343\203\210\351\247\206\345\213\225\351\226\213\347\231\272\343\201\213\343\202\211\345\247\213\343\202\201\343\202\213TypeScript\345\205\245\351\226\2002.md"
  • A "docs/reference/case-2/reference/\343\203\206\343\202\271\343\203\210\351\247\206\345\213\225\351\226\213\347\231\272\343\201\213\343\202\211\345\247\213\343\202\201\343\202\213TypeScript\345\205\245\351\226\2003.md"
  • A "docs/reference/case-2/reference/\351\226\213\347\231\272\343\202\254\343\202\244\343\203\211.md"
  • A docs/reference/case-2/report/index.md
  • A "docs/reference/case-2/report/\350\251\225\344\276\241\343\203\254\343\203\235\343\203\274\343\203\210.md"
  • A docs/reference/case-2/requirements/.gitkeep
  • A docs/reference/case-2/requirements/index.md
  • A "docs/reference/case-2/requirements/\350\246\201\344\273\266.md"
  • A docs/reference/case-2/template/ADR.md
  • A docs/reference/case-2/template/README.md
  • M mkdocs.yml

変更内容

```diff commit b2b3e12a90eb21929ac5031aafa3005dd6c81e82 Author: k2works kakimomokuri@gmail.com Date: Tue Aug 5 11:50:31 2025 +0900

docs: add architecture decision records and update documentation structure

diff --git a/docs/reference/case-2/CLAUDE.local.md b/docs/reference/case-2/CLAUDE.local.md new file mode 100644 index 0000000..3eaab5f --- /dev/null +++ b/docs/reference/case-2/CLAUDE.local.md @@ -0,0 +1,570 @@ +# CLAUDE.local.md + +uml diagram