Guías

Instalar Hollware

Todas las formas de empezar un proyecto de Hollware, qué release tomar y qué contiene el proyecto.

Instalar Hollware

Un Hollware es un proyecto tuyo: un Worker pequeño que depende de los paquetes de Hollware, con su propio wrangler.jsonc. Lo crea npm create hollware. El Inicio rápido es el camino corto; esta página reúne todos.

Necesitas Node.js 24 o superior. La cuenta de Cloudflare entra cuando despliegas; todo lo anterior corre en tu máquina.

Un proyecto propio

npm create hollware my-cms

Copia el starter, lo instala, aplica las migraciones a una base de datos local y crea tu sitio, su dueño y un primer token. No pregunta nada; lo que responderías va en opciones, después de -- con npm:

OpciónQué eligePor defecto
--name <nombre>El nombre del Worker y de su base de datosel nombre del directorio
--site <clave>La clave de tu sitio; nunca cambiamy-site
--preset blog | docs | emptyCon qué parte el sitioblog
--locales en,esSus idiomas, el primero es el por defectoen
--pm npm | pnpmQuién instalanpm
--token-file <ruta>Escribe el primer token en un archivo, nunca en pantalla
--ip-addresses off | hashed, --audit-retention-days <n>Qué guarda el registro de actividadoff, para siempre
--no-installSolo copia los archivos: sin instalar, sin base de datos, sin sitio
--no-gitSin git init
--jsonUn objeto JSON en stdout, para un agente o un script
npm create hollware my-cms -- --site acme --preset docs --locales en,es --token-file owner.token
pnpm create hollware my-cms --pm pnpm

Qué release

CanalQué esComando
latestEl release estable más recientenpm create hollware my-cms
rcEl próximo release, como release candidatenpm create hollware@rc my-cms
Una versión exactaEse release, siemprenpm create hollware@1.0.0 my-cms

create-hollware de una versión crea un proyecto de esa misma versión: fija hollware y @hollware/* exactamente en ella, y las herramientas con que se probó (wrangler, los plugins de Cloudflare, Vite+, Vitest, TypeScript) en las suyas. Un proyecto nunca se mueve solo; lo actualizas cuando tú decides.

pnpm, desde la versión 11, no instala nada publicado hace menos de un día (minimumReleaseAge). El día de un release, pnpm create hollware toma el release anterior, completo. Espera un día, o crea tu proyecto con npm.

Dentro de un monorepo

Hollware puede vivir junto al sitio que lo lee, en un mismo repositorio, como apps/cms al lado de apps/web. Créalo sin instalar y luego instala desde la raíz:

pnpm create hollware apps/cms --pm pnpm --no-install --no-git --name my-cms --site my-site

Después:

  1. Borra apps/cms/pnpm-workspace.yaml: pnpm lee el de la raíz. Copia su allowBuilds (esbuild: true, workerd: false) en el de la raíz.
  2. Borra los overrides de apps/cms/package.json: son para npm, que solo los lee en la raíz.
  3. Instala desde la raíz, y crea la base de datos local y tu sitio desde apps/cms:
pnpm install
cd apps/cms
pnpm exec hollware migrate --local
pnpm exec hollware init --site my-site --local --token-file owner.token

Cada comando de hollware se ejecuta desde apps/cms: la CLI trabaja sobre el proyecto del directorio actual. Un sitio del mismo repositorio lee el Hollware desplegado por un service binding, o por HTTP con un token de lectura.

Qué contiene el proyecto

ArchivoDe quiénQué es
src/worker.tstuyoEl Worker: lo construye createHollware()
wrangler.jsonctuyoEl Worker, su base de datos, namespace, colas, bucket, URL pública y dominio
vite.config.ts, vitest.config.ts, test/tuyosEl build, el servidor local y tests que corren dentro de workerd
AGENTS.mdtuyoLo que necesita saber un agente que trabaja en el proyecto
worker-configuration.d.tsde wranglerLos tipos de los bindings; lo escribe npm run types
node_modules/@hollware/serverde HollwareEl código y las migraciones de la base de datos
node_modules/@hollware/adminde HollwareEl admin, compilado

Los archivos tuyos se crean una vez y Hollware nunca los reescribe, así que una actualización de los paquetes los deja como están. Cuando un release pide un cambio en alguno, sus notas y la guía de actualización dicen cuál.

Tu contenido y la estructura de tus sitios viven en la base de datos, nunca en el proyecto: el repositorio no guarda contenido, y varios sitios comparten un proyecto.

Desde otro CMS

hollware import trae un directorio de Markdown, como borradores o publicado, y ejecutarlo de nuevo no cambia nada. Lee una estructura simple de <collection>/<locale>/<slug>.md, o el content/ de un sitio de Nuxt Content con --from nuxt-content. Ver la CLI.

Revísalo

npx hollware doctor

Revisa los flags, los bindings, el admin compilado, las migraciones y el dueño, y dice qué corregir.