# Initial Structure Plan Template

Use this template for the bootstrap structure plan. Save as `TASKS_DIR/<topic>/initial_structure.md`.

---

```markdown
# Initial Project Structure Plan

**Date**: [YYYY-MM-DD]
**Tech Stack**: [language, framework, database, etc.]
**Source**: architecture.md, component specs from _docs/02_plans/<topic>/

## Project Folder Layout

```
project-root/
├── [folder structure based on tech stack and components]
└── ...
```

### Layout Rationale

[Brief explanation of why this structure was chosen — language conventions, framework patterns, etc.]

## DTOs and Interfaces

### Shared DTOs

| DTO Name | Used By Components | Fields Summary |
|----------|-------------------|---------------|
| [name] | [component list] | [key fields] |

### Component Interfaces

| Component | Interface | Methods | Exposed To |
|-----------|-----------|---------|-----------|
| [##]_[name] | [InterfaceName] | [method list] | [consumers] |

## CI/CD Pipeline

| Stage | Purpose | Trigger |
|-------|---------|---------|
| Build | Compile/bundle the application | Every push |
| Lint / Static Analysis | Code quality and style checks | Every push |
| Unit Tests | Run unit test suite | Every push |
| Integration Tests | Run integration test suite | Every push |
| Security Scan | SAST / dependency check | Every push |
| Deploy to Staging | Deploy to staging environment | Merge to staging branch |

### Pipeline Configuration Notes

[Framework-specific notes: CI tool, runners, caching, parallelism, etc.]

## Environment Strategy

| Environment | Purpose | Configuration Notes |
|-------------|---------|-------------------|
| Development | Local development | [local DB, mock services, debug flags] |
| Staging | Pre-production testing | [staging DB, staging services, production-like config] |
| Production | Live system | [production DB, real services, optimized config] |

### Environment Variables

| Variable | Dev | Staging | Production | Description |
|----------|-----|---------|------------|-------------|
| [VAR_NAME] | [value/source] | [value/source] | [value/source] | [purpose] |

## Database Migration Approach

**Migration tool**: [tool name]
**Strategy**: [migration strategy — e.g., versioned scripts, ORM migrations]

### Initial Schema

[Key tables/collections that need to be created, referencing component data access patterns]

## Test Structure

```
tests/
├── unit/
│   ├── [component_1]/
│   ├── [component_2]/
│   └── ...
├── integration/
│   ├── test_data/
│   └── [test files]
└── ...
```

### Test Configuration Notes

[Test runner, fixtures, test data management, isolation strategy]

## Implementation Order

| Order | Component | Reason |
|-------|-----------|--------|
| 1 | [##]_[name] | [why first — foundational, no dependencies] |
| 2 | [##]_[name] | [depends on #1] |
| ... | ... | ... |
```

---

## Guidance Notes

- This is a PLAN document, not code. The `3.05_implement_initial_structure` command executes it.
- Focus on structure and organization decisions, not implementation details.
- Reference component specs for interface and DTO details — don't repeat everything.
- The folder layout should follow conventions of the identified tech stack.
- Environment strategy should account for secrets management and configuration.
