# Astro Shade DX Template - Base

Plantilla base de Astro con soporte para React, TailwindCSS, y componentes shadcn/ui. Esta versión incluye solo las dependencias y componentes esenciales para comenzar tu proyecto.

## Linting y Formato (Opcional)

Esta plantilla base no incluye un linter por defecto. Para agregar soporte de linting, puedes elegir entre:

### ESLint + Prettier

Para configurar ESLint y Prettier, ejecuta:

```bash
# Instalar dependencias
bun add -d @eslint/js typescript-eslint @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint eslint-config-prettier eslint-plugin-react eslint-plugin-react-hooks globals prettier prettier-plugin-astro prettier-plugin-tailwindcss

# Copiar archivos de configuración (opcional)
# Puedes descargarlos desde:
# https://github.com/hkxdev/astro-shade-dx-template/tree/main/templates/linters/eslint
```

### Biome

Para configurar Biome, ejecuta:

```bash
# Instalar dependencias
bun add -d @biomejs/biome

# Crear configuración básica (o usar migración automática)
npx @biomejs/biome init
# Alternativamente, puedes migrar configuraciones existentes
# npx @biomejs/biome migrate eslint --write
# npx @biomejs/biome migrate prettier --write
```

Biome ofrece varias ventajas sobre ESLint + Prettier:
- Una única herramienta para formateo y linting
- Significativamente más rápido
- Configuración más sencilla
- Sin conflictos entre herramientas

Los scripts de Biome se añadirán a tu package.json:
```json
{
  "scripts": {
    "format": "biome format --write ./src",
    "lint": "biome lint ./src",
    "check": "biome check ./src"
  }
}
```

## Comenzando

1. Instala las dependencias:

   ```bash
   bun install
   ```

2. Inicia el servidor de desarrollo:

   ```bash
   bun dev
   ```

3. Abre [http://localhost:4321](http://localhost:4321) para ver tu aplicación.

## Estructura del Proyecto

```
├── public/         # Archivos estáticos
├── src/
│   ├── components/ # Componentes UI
│   ├── layouts/    # Layouts de página
│   ├── lib/        # Utilidades y funciones
│   ├── pages/      # Rutas de la aplicación
│   └── styles/     # Estilos globales
├── astro.config.mjs
├── tsconfig.json
└── components.json # Configuración de shadcn/ui
```