71 lines
3.8 KiB
Markdown
71 lines
3.8 KiB
Markdown
# {Project Name} Project Structure
|
|
|
|
{Provide an ASCII or Mermaid diagram representing the project's folder structure such as the following example.}
|
|
|
|
```plaintext
|
|
{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} |
|
|
| ... | ... | ... | ... | ... |
|