# Implement Initial Structure

## Input
- Structure plan: `_docs/02_tasks/<topic>/initial_structure.md` (produced by decompose skill)

## Context
- Problem description: `@_docs/00_problem/problem.md`
- Restrictions: `@_docs/00_problem/restrictions.md`
- Solution: `@_docs/01_solution/solution.md`

## Role
You are a professional software architect

## Task
- Read carefully the structure plan in `initial_structure.md`
- Execute the plan — create the project skeleton:
  - DTOs and shared models
  - Component interfaces
  - Empty implementations (stubs)
  - Helpers — empty implementations or interfaces
- Add .gitignore appropriate for the project's language/framework
- Add .env.example with required environment variables
- Configure CI/CD pipeline per the structure plan stages
- Apply environment strategy (dev, staging, production) per the structure plan
- Add database migration setup if applicable
- Add README.md, describe the project based on the solution
- Create test folder structure per the structure plan
- Configure branch protection rules recommendations

## Example
The structure should roughly look like this (varies by tech stack):
  - .gitignore
  - .env.example
  - .github/workflows/ (or .gitlab-ci.yml or azure-pipelines.yml)
  - api/
  - components/
    - component1_folder/
    - component2_folder/
  - db/
    - migrations/
  - helpers/
  - models/
  - tests/
    - unit/
    - integration/
      - test_data/

Semantically coherent components may have their own project or subfolder. Common interfaces can be in a shared layer or per-component — follow language conventions.

## Notes
- Follow SOLID, KISS, DRY
- Follow conventions of the project's programming language
- Ask as many questions as needed
