Crear un proyecto: el asistente de Astro
Los requisitos reales de Astro 7 —Node 20 o 22—, el asistente npm create astro paso a paso, la elección de gestor de paquetes y plantilla, y el primer arranque del servidor de desarrollo con astro dev en el puerto 4321.
Requisitos: qué necesita Astro 7
Astro corre sobre Node.js, y en 2026 exige una línea LTS moderna: Node 20 o Node 22. Las versiones impares —19, 21, 23— son de vida corta y Astro no las soporta; Node 18 quedó fuera de mantenimiento y ha salido de la matriz de soporte. La regla práctica es sencilla: usa siempre la LTS par más reciente que tu entorno permita.
# comprueba tu version de Node antes de nadanode --version # v20.x o v22.x, una LTS par# si gestionas varias versiones, fija una LTS con tu manejador# nvm use 22 | fnm use 22 | volta install node@22Además de Node necesitas dos cosas más: una terminal donde ejecutar comandos y un editor con soporte para la sintaxis .astro. La extensión oficial de Astro aporta resaltado, autocompletado y diagnósticos en tiempo real; sin ella escribirás .astro a ciegas. En la práctica no es opcional: es parte del toolchain.
El asistente: npm create astro
El punto de entrada canónico es un solo comando. npm create astro@latest descarga y ejecuta la última versión del asistente de creación —el paquete create-astro— que te guía con unas pocas preguntas:
# lanza el asistente interactivonpm create astro@latestEl asistente pregunta, en orden, las cosas que definen el esqueleto del proyecto:
Sobre la plantilla, la elección importa más de lo que parece. La mínima te da lo justo —una página y la configuración base— y es la mejor forma de aprender, porque no hay nada mágico que no hayas puesto tú. Las plantillas con ejemplo traen estructura y contenido de muestra, útiles para ver un proyecto real pero ruidosas cuando estudias. Para esta guía, elige siempre la mínima.
# modo no interactivo: util para scripts y CInpm create astro@latest mi-proyecto -- \ --template minimal --install --git --yesCada bandera responde por adelantado a una pregunta del asistente: --template fija la plantilla, --install y --git automatizan esos pasos, y --yes acepta el resto de valores por defecto sin interacción.
El gestor de paquetes: una decisión temprana
Astro es agnóstico respecto al gestor de paquetes, pero la elección se queda con el proyecto: determina el fichero de lockfile y los comandos que teclearás a diario. Los cuatro grandes funcionan igual de bien.
Si no tienes una preferencia formada, npm es la opción segura: viene con Node y no exige instalar nada. pnpm es la favorita de muchos por su velocidad y por cómo comparte dependencias entre proyectos ahorrando disco. Lo decisivo no es cuál elijas, sino ser consistente: mezclar gestores en un mismo proyecto corrompe el lockfile y produce instalaciones irreproducibles.
Un detalle que se pasa por alto: ese lockfile —package-lock.json, pnpm-lock.yaml o el que corresponda— debe ir a git. Es lo que garantiza que tu equipo y tu servidor de CI instalen exactamente las mismas versiones que tú, hasta la última dependencia transitiva. Sin él, dos máquinas pueden acabar con árboles de dependencias distintos a partir del mismo package.json.
El primer arranque: astro dev
Con el proyecto andamiado y las dependencias instaladas, entra en la carpeta y arranca el servidor de desarrollo. El asistente te recuerda los comandos exactos al terminar, pero el patrón es universal:
cd mi-proyectonpm run dev # alias del script que llama a astro devAstro levanta un servidor con recarga en caliente —HMR— e imprime la dirección local. Por defecto escucha en el puerto 4321:
npm run dev# astro v7.x ready in 380 ms# Local http://localhost:4321/# Network use --host to exposeAbre esa URL y verás tu sitio. A partir de ahí, cada cambio que guardes en un .astro se refleja al instante sin recargar la página entera: es la promesa del compilador en Rust y de Vite 8 que viste en el nivel anterior, ahora en tu propia máquina.
Lo que tienes delante tras el andamiaje es deliberadamente poco: un package.json con astro como dependencia y los scripts dev, build y preview; un astro.config.mjs casi vacío; un tsconfig.json; una carpeta public con un favicon; y un src con una única página. Esa desnudez es una virtud —no hay convenciones ocultas que descifrar— y es justo el terreno que recorrerás en las próximas lecciones: la estructura de directorios, la configuración y el CLI.