コンテンツにスキップ

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/ 役割: コンテナ定義 開発や本番環境で利用する Dockerfiledocker-compose.yml など、コンテナ関連のファイルを格納します。

  • .github/ 役割: CI/CDとGitHub連携 GitHub Actionsのワークフローや、Issue/Pull Requestのテンプレートなどを格納します。

  • .devcontainer/, .vscode/ 役割: 開発環境の統一 VSCode Remote Containersなどを利用して開発環境を定義したり、エディタの推奨設定を共有したりします。

  • Scripts/ 役割: 補助スクリプト ビルドや定型タスクの自動化など、開発を補助するためのスクリプトを格納します。

主要ファイルの役割

  • README.md 役割: プロジェクトの入り口 リポジトリのトップページに表示され、プロジェクトの概要、目的、始め方などを記述します。

  • LICENSE 役割: ライセンス規定 本プロジェクトが準拠するライセンスの全文を記述します。

  • .gitignore 役割: バージョン管理の除外設定 ビルド生成物や環境依存ファイルなど、Gitの管理に含めない対象を指定します。