Files
BMAD-METHOD/CURRENT-V2/docs/templates/project-structure.md
2025-05-02 23:06:11 -05:00

3.8 KiB

{Project Name} Project Structure

{Provide an ASCII or Mermaid diagram representing the project's folder structure such as the following example.}

{project-root}/
├── .github/                    # CI/CD workflows (e.g., GitHub Actions)
│   └── workflows/
│       └── main.yml
├── .vscode/                    # VSCode settings (optional)
│   └── settings.json
├── build/                      # Compiled output (if applicable, often git-ignored)
├── config/                     # Static configuration files (if any)
├── docs/                       # Project documentation (PRD, Arch, etc.)
│   ├── index.md
│   └── ... (other .md files)
├── infra/                      # Infrastructure as Code (e.g., CDK, Terraform)
│   └── lib/
│   └── bin/
├── node_modules/               # Project dependencies (git-ignored)
├── scripts/                    # Utility scripts (build, deploy helpers, etc.)
├── src/                        # Application source code
│   ├── common/                 # Shared utilities, types, constants
│   ├── components/             # Reusable UI components (if UI exists)
│   ├── features/               # Feature-specific modules (alternative structure)
│   │   └── feature-a/
│   ├── core/                   # Core business logic
│   ├── clients/                # External API/Service clients
│   ├── services/               # Internal services / Cloud SDK wrappers
│   ├── pages/ / routes/        # UI pages or API route definitions
│   └── main.ts / index.ts / app.ts # Application entry point
├── stories/                    # Generated story files for development (optional)
│   └── epic1/
├── test/                       # Automated tests
│   ├── unit/                   # Unit tests (mirroring src structure)
│   ├── integration/            # Integration tests
│   └── e2e/                    # End-to-end tests
├── .env.example                # Example environment variables
├── .gitignore                  # Git ignore rules
├── package.json                # Project manifest and dependencies
├── tsconfig.json               # TypeScript configuration (if applicable)
├── Dockerfile                  # Docker build instructions (if applicable)
└── README.md                   # Project overview and setup instructions

(Adjust the example tree based on the actual project type - e.g., Python would have requirements.txt, etc.)

Key Directory Descriptions

docs/: Contains all project planning and reference documentation. infra/: Holds the Infrastructure as Code definitions (e.g., AWS CDK, Terraform). src/: Contains the main application source code. common/: Code shared across multiple modules (utilities, types, constants). Avoid business logic here. core/ / domain/: Core business logic, entities, use cases, independent of frameworks/external services. clients/: Modules responsible for communicating with external APIs or services. services/ / adapters/ / infrastructure/: Implementation details, interactions with databases, cloud SDKs, frameworks. routes/ / controllers/ / pages/: Entry points for API requests or UI views. test/: Contains all automated tests, mirroring the src/ structure where applicable. scripts/: Helper scripts for build, deployment, database migrations, etc.

Notes

{Mention any specific build output paths, compiler configuration pointers, or other relevant structural notes.}

Change Log

Change Date Version Description Author
Initial draft YYYY-MM-DD 0.1 Initial draft {Agent/Person}
... ... ... ... ...