本ドキュメントは、Claude Code(Claude搭載のAIアシスタント開発環境)を使用した開発プロジェクトにおける、ソフトウェアアーキテクチャの設計原則とガイドラインを定義します。
適用場面: 従来的なWebアプリケーション、CRUD操作中心のシステム
適用場面: 複雑なビジネスロジック、外部システム連携が多いシステム
適用場面: 大規模システム、チーム分散開発、独立したデプロイが必要
適用場面: 複雑なビジネスロジック、長期保守が必要なシステム、業務専門家との協働
どのアーキテクチャパターンを採用する場合でも、以下のDDDの基本概念を可能な限り適用する:
不変性の原則
安全性の向上効果
実装における注意点
プロジェクトの技術スタックに応じて一貫した命名規則を採用し、AIとの協働時も同じ規則を維持する
外部依存を注入することで、テスタビリティと柔軟性を向上
インターフェースや抽象クラスを用いて、実装詳細を隠蔽
Webアプリケーションの場合、12Factor Appのベストプラクティスに従い、クラウドネイティブで保守性の高いアプリケーションを構築する:
## Context
12Factor Appに準拠したWebアプリケーション開発
## Requirements
- 環境変数による設定管理
- ステートレス設計
- クラウドネイティブアーキテクチャ
## Implementation Focus
1. 設定値のハードコーディング排除
2. 環境依存コードの外部化
3. スケーラブルなアーキテクチャ設計## Context
[プロジェクトの背景と現在の状況]
## Requirements
[機能要件と非機能要件]
## Technical Constraints
[技術的制約条件]
## Expected Output
[期待する出力の形式と品質基準]
## Implementation Approach
[段階的な実装方針]問題: ビジネスルールがプレゼンテーション層やインフラ層に混在 解決策: ドメイン層への適切な配置とドメインオブジェクトの活用
問題: N+1クエリ、遅いレスポンス時間 解決策: クエリ最適化、キャッシュ戦略、非同期処理の活用
問題: モックが困難、テストが脆い 解決策: 依存性注入、インターフェースの活用、テスタブルな設計
これらの原則は、Claude Codeを使用した開発プロジェクトにおいて、保守性が高く、拡張性があり、AIとの協働に適したソフトウェアアーキテクチャを構築するためのガイドラインです。
プロジェクトの性質や要件、チームの成熟度に応じて、これらの原則を適切に適用し、継続的に改善していくことが重要です。特に以下の順序での段階的導入を推奨します:
最終更新日: 2025年7月15日
バージョン: 2.1
レビュー予定: 2025年10月15日