Files
annotations/.cursor/skills/decompose/templates/initial-structure.md
T
Oleksandr Bezdieniezhnykh 9e7dc290db Refactor annotation tool from WPF desktop app to .NET API
Replace the WPF desktop application (Azaion.Suite, Azaion.Annotator,
Azaion.Common, Azaion.Inference, Azaion.Loader, Azaion.LoaderUI,
Azaion.Dataset, Azaion.Test) with a standalone .NET Web API in src/.

Made-with: Cursor
2026-03-25 04:40:03 +02:00

3.3 KiB

Initial Structure Plan Template

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


# 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.