# Sitio SEO Estático Astro — Paquete de Contexto

> Un paquete de contexto copiable que describe un sitio SEO estático de Astro para que un agente de IA pueda trabajar en él correctamente desde el primer prompt.

**Type:** Context Pack  
**Tools:** Cursor, Claude Code, Codex  
**Stack:** Astro, Tailwind, TypeScript  
**Updated:** 2026-06-08

---

Pega esto al inicio de una tarea para que el agente entienda el proyecto antes de escribir nada. Está escrito para ser leído por humanos y por tu agente.

## Antecedentes del Proyecto

```txt
A content-driven static site built with Astro. No database, no server runtime.
Content lives in Markdown/MDX under src/content and is rendered to static HTML
at build time. Deployed to Cloudflare Pages.
```

## Stack

```txt
Astro 6 (static output)
MDX content collections (Content Layer API)
Tailwind CSS v4 (via @tailwindcss/vite)
Pagefind for static search
TypeScript (strict)
```

## Estructura de Directorios

```txt
src/content/        # MDX content, one folder per collection
src/content.config.ts
src/layouts/        # BaseLayout, ResourceLayout
src/pages/          # routes + .md/.json endpoints + llms.txt
src/components/
```

## Convenciones de Codificación

```txt
- Content is data: edits to copy should be MDX edits, not template changes.
- Keep components in plain Astro; add a framework island only when needed.
- Every resource page also emits a .md and .json version.
- No client-side rendering of primary content — output HTML at build time.
```

## Límites de Tareas de IA

```txt
- Do not add a server adapter or database.
- Do not break the .md/.json/llms.txt endpoints.
- Validate frontmatter against the zod schema in content.config.ts.
```

## llms.txt

```txt
This site publishes /llms.txt and a .md version of every page so agents can
read content as clean Markdown instead of scraping HTML.
```