[Define your project's directory structure. Examples below - adapt to your project type]
Example for a library/package:
project-root/
├── src/ # Source code
├── tests/ # Test files
├── docs/ # Documentation
├── examples/ # Usage examples
└── [build/dist/out] # Build output
Example for an application:
project-root/
├── [src/app/lib] # Main source code
├── [assets/resources] # Static resources
├── [config/settings] # Configuration
├── [scripts/tools] # Build/utility scripts
└── [tests/spec] # Test files
Common patterns:
- Group by feature/module
- Group by layer (UI, business logic, data)
- Group by type (models, controllers, views)
- Flat structure for simple projects
PascalCase, snake_case, kebab-case]UserService, user_service, user-service]dateUtils, date_utils, date-utils][filename]_test, [filename].test, [filename]Test]PascalCase, CamelCase, snake_case]camelCase, snake_case, PascalCase]UPPER_SNAKE_CASE, SCREAMING_CASE, PascalCase]camelCase, snake_case, lowercase][Describe your project's import/include patterns]
Examples:
- Absolute imports from project root
- Relative imports within modules
- Package/namespace organization
- Dependency management approach
[Define common patterns for organizing code within files. Below are examples - choose what applies to your project]
Example patterns:
1. Imports/includes/dependencies
2. Constants and configuration
3. Type/interface definitions
4. Main implementation
5. Helper/utility functions
6. Exports/public API
Example patterns:
- Input validation first
- Core logic in the middle
- Error handling throughout
- Clear return points
Choose what works for your project:
- One class/module per file
- Related functionality grouped together
- Public API at the top/bottom
- Implementation details hidden
[Define how different parts of your project interact and maintain separation of concerns]
Examples of boundary patterns:
[Define your project's guidelines for file and function sizes]
Suggested guidelines:
[How dashboard or monitoring components are organized]
src/
└── dashboard/ # Self-contained dashboard subsystem
├── server/ # Backend server components
├── client/ # Frontend assets
├── shared/ # Shared types/utilities
└── public/ # Static assets