01. ルートディレクトリ
本ドキュメントでは、本プロジェクトにおけるルートディレクトリの標準的な構成と、各要素が持つ役割について解説します。 一貫性のあるフォルダ構成は、プロジェクトの全体像の理解を促進し、開発効率を向上させることを目的とします。
主要なフォルダ構成
本プロジェクトのルートディレクトリは、責務が明確なフォルダと、プロジェクト全体に関わる少数の主要ファイルで構成されます。
.
├── .devcontainer/ # 開発環境コンテナの設定
├── .github/ # GitHub連携と自動化 (CI/CD)
├── .vscode/ # VSCodeエディタ固有の設定
├── Docker/ # コンテナ関連ファイル
├── Docs/ # 全てのドキュメントソース
├── Src/ # アプリケーションのソースコード
├── Tests/ # 自動テストコード
├── Scripts/ # プロジェクト用の補助スクリプト
│
├── .gitignore # Gitの追跡対象外ファイルを指定
├── LICENSE # プロジェクトのライセンス情報
└── README.md # プロジェクト全体の概要説明
上記は代表例です。.husky/, mkdocs.yml など、プロジェクトの技術スタックに応じて他のファイル/フォルダが追加されます。
主要フォルダの役割
-
Src/役割: アプリケーションのソースコード このプロジェクトの本体となる、全てのソースコードを格納します。 -
Tests/役割: 自動テストSrc/内のコードの品質を保証するための、単体テストや結合テストなどのコードを格納します。 -
Docs/役割: ドキュメント 設計書、仕様書、開発ルールなど、プロジェクトに関する全てのドキュメントのソースファイルを格納します。 -
Docker/役割: コンテナ定義 開発や本番環境で利用するDockerfileやdocker-compose.ymlなど、コンテナ関連のファイルを格納します。 -
.github/役割: CI/CDとGitHub連携 GitHub Actionsのワークフローや、Issue/Pull Requestのテンプレートなどを格納します。 -
.devcontainer/,.vscode/役割: 開発環境の統一 VSCode Remote Containersなどを利用して開発環境を定義したり、エディタの推奨設定を共有したりします。 -
Scripts/役割: 補助スクリプト ビルドや定型タスクの自動化など、開発を補助するためのスクリプトを格納します。
主要ファイルの役割
-
README.md役割: プロジェクトの入り口 リポジトリのトップページに表示され、プロジェクトの概要、目的、始め方などを記述します。 -
LICENSE役割: ライセンス規定 本プロジェクトが準拠するライセンスの全文を記述します。 -
.gitignore役割: バージョン管理の除外設定 ビルド生成物や環境依存ファイルなど、Gitの管理に含めない対象を指定します。