# Variantes de estructura por stack tecnológico

Referencia completa de estructura de proyecto Claude-ready para cada stack.
Todos los stacks incluyen la estructura base `.claude/`, `.planning/` y `.mcp.json`.

---

## Python backend (FastAPI / Django)

```
proyecto/
├── CLAUDE.md
├── .claude/               # Ver estructura base en SKILL.md
├── .planning/             # Ver estructura base en SKILL.md
├── .mcp.json
├── pyproject.toml         # Dependencias y metadata del paquete
├── .env.example           # Variables de entorno (sin valores reales)
├── alembic/               # Migraciones de base de datos
│   ├── alembic.ini
│   ├── env.py
│   └── versions/
├── app/
│   ├── main.py
│   ├── routers/
│   ├── models/
│   ├── schemas/
│   ├── services/
│   ├── dependencies/
│   └── core/
│       ├── config.py
│       └── security.py
└── tests/
    ├── conftest.py
    ├── unit/
    └── integration/
```

**Qué agregar en CLAUDE.md para proyectos Python**:
- Versión de Python y gestor de paquetes (`uv` o `pip`)
- Comando para activar entorno virtual
- Comandos de migración Alembic
- Comando para correr tests con cobertura (`pytest --cov`)

---

## Node.js backend (Express / Fastify / NestJS)

```
proyecto/
├── CLAUDE.md
├── .claude/
├── .planning/
├── .mcp.json
├── package.json
├── tsconfig.json
├── .env.example
├── src/
│   ├── index.ts           # Entry point
│   ├── routes/
│   ├── controllers/
│   ├── services/
│   ├── models/
│   └── middleware/
├── prisma/                # Si usa Prisma ORM
│   └── schema.prisma
└── tests/
    ├── unit/
    └── integration/
```

**Qué agregar en CLAUDE.md para proyectos Node**:
- Versión de Node.js y gestor de paquetes (`npm`, `pnpm`, `yarn`)
- Comando de dev con hot-reload
- Comando de build de producción

---

## Angular frontend

```
proyecto/
├── CLAUDE.md
├── .claude/
├── .planning/
├── .mcp.json
├── angular.json
├── package.json
├── tsconfig.json
└── src/
    ├── app/
    │   ├── core/          # Servicios singleton, guards, interceptors
    │   ├── shared/        # Componentes, pipes, directivas compartidas
    │   ├── features/      # Módulos de features (lazy loaded)
    │   └── app.config.ts
    ├── assets/
    └── environments/
```

**Qué agregar en CLAUDE.md para proyectos Angular**:
- Versión de Angular y Node
- Convención de signals vs RxJS
- Estructura de features (feature-based o type-based)

---

## React / Next.js frontend

```
proyecto/
├── CLAUDE.md
├── .claude/
├── .planning/
├── .mcp.json
├── next.config.js         # Si usa Next.js
├── package.json
├── tsconfig.json
├── tailwind.config.ts     # Si usa Tailwind CSS
├── app/                   # App Router (Next.js 13+)
│   ├── layout.tsx
│   ├── page.tsx
│   └── [rutas de la app]
├── components/
│   ├── ui/                # Componentes genéricos
│   └── [dominio]/         # Componentes de dominio
└── lib/
    ├── utils.ts
    └── api.ts
```

---

## Mobile (React Native con Expo)

```
proyecto/
├── CLAUDE.md
├── .claude/
├── .planning/
├── .mcp.json
├── app.json               # Configuración de Expo
├── package.json
├── tsconfig.json
└── src/
    ├── app/               # Expo Router
    ├── components/
    ├── hooks/
    ├── services/
    ├── stores/            # Estado global (Zustand, Jotai)
    └── utils/
```

---

## Full-stack (monorepo: backend + frontend + mobile)

```
proyecto/
├── CLAUDE.md              # Instrucciones del monorepo completo
├── .claude/
├── .planning/
├── .mcp.json
├── package.json           # Workspace root (si usa monorepo JS)
│   o pyproject.toml      # Si el backend es Python
├── apps/
│   ├── backend/           # Ver estructura Python o Node arriba
│   ├── web/               # Ver estructura React/Angular arriba
│   └── mobile/            # Ver estructura Mobile arriba
└── packages/              # Código compartido entre apps
    ├── types/             # TypeScript types compartidos
    └── ui/                # Componentes UI compartidos
```

**Consideraciones para monorepos**:
- El CLAUDE.md raíz describe el monorepo completo
- Cada app puede tener su propio CLAUDE.md con instrucciones específicas
- Los comandos de desarrollo suelen incluir scripts de workspace (`npm -w apps/backend dev`)
- Considerar Turborepo o Nx para gestión de builds en monorepos grandes
