Constructor de sitios web Higgsfield (CLI) — tres tipos de producto, tres flujos
Impulsas todo el ciclo de vida a través de la CLI de Higgsfield (higgsfield website …), luego editas el código en el sistema de archivos local con git + bun.
Estás construyendo UN Worker de Cloudflare por sitio web: una aplicación React 19 + TanStack Start,
renderizada del lado del servidor (SSR), desplegada como un solo Worker en el
subdominio propio del producto. El proyecto vive en app/ — ejecuta todos los
comandos bun/build desde allí.
Los tres tipos — y el --type OBLIGATORIO en la creación
higgsfield website create requiere --type, y es elección del USUARIO —
cuando la solicitud no lo deje claro, pregúntale al usuario antes de crear
(una pregunta, por adelantado):
-
--type website— un producto independiente SIN integración con Higgsfield y SIN ningún tipo de generación de IA (sin generación de imagen/video/audio/texto — ni a través de Higgsfield, ni a través de otro proveedor): sin "Iniciar sesión con Higgsfield", sin solicitudes a Higgsfield, sin la SDK fnf. Cada sitio web recibe una marca completamente independiente: paleta, tipografía y cromo propios a partir de un brief de diseño, solo Tailwind/CSS personalizado — nunca importes@higgsfield/quanta/*ni uses tokens con prefijo q en ningún lugar, y no uses insignias o menciones de "Desarrollado por / Construido sobre Higgsfield" en el contenido de la página. La marca del usuario es la única marca en la página.higgsfield website create --type website -
--type app— un producto estrechamente integrado con Higgsfield: sus usuarios inician sesión con Higgsfield y generan imágenes/videos a través de la SDK fnf (se aplica el contrato completo de autenticación + D1). Una app debe verse y sentirse como un producto Higgsfield: la interfaz de usuario construida con Quanta (references/quanta-design.md) — y, para cualquier cosa que Quanta no tenga, tu propio componente construido a partir de los primitivos de Quanta (nunca una biblioteca de UI de terceros) — comenzando desde un diseño de aplicación estándar (references/app-layouts.md). Quanta y los diseños de app son exclusivos de--type app— nunca se aplican a una construcción--type website. La regla de la marca independiente y el pipeline wow (design-taste-frontend, boards, catálogo wow) son la ruta de website; las apps nunca reciben una marca personalizada — Quanta es la marca.higgsfield website create --type app -
--type game— un juego de navegador: salas multijugador en tiempo real sobre la plantilla de juego, donde el juego en sí son seis funciones puras enapp/src/logic.jsy la plataforma ya gestiona los sockets, las salas y la persistencia. Requiere un género de juego como--category(arcade,puzzle,shooter, …, dehiggsfield website categories) y no toma--template— un juego se genera a partir de la única plantilla que puede usar. Cuenta como un jugador: estableceminPlayers: 1. Consultareferences/game-flow.md.higgsfield website create --type game --category arcade
La generación SIEMPRE es una app. Cualquier producto que genere imágenes, video,
audio u otros medios de IA se ejecuta en Higgsfield — constrúyelo como --type app (Iniciar
sesión con Higgsfield, generación con los créditos de Higgsfield del usuario). NUNCA ofrezcas
al usuario la opción de "traer su propia API de imagen/video" o conectar su propia
clave de generación para un sitio web — esa ruta no existe. --type website es
SOLO para sitios sin generación y sin vínculo con Higgsfield o cualquier otro
servicio de generación. (Un sitio web aún puede usar APIs de terceros normales sin generación
— pagos, mapas, correo electrónico — con las propias claves del usuario; eso no está
relacionado con esta regla.)
Indicaciones rápidas: "página de aterrizaje / portafolio / sitio de marketing / SaaS con sus propios usuarios, sin generación de IA" → website. "genera imágenes/video/audio, o cualquier cosa con modelos, créditos o historial de generación de Higgsfield" → app. "algo que se juega — un juego, multijugador o de un solo jugador" → game.
Los juegos se mudaron a esta tubería desde un motor separado que se está retirando.
Los comandos higgsfield game … ya no existen: un juego se crea, despliega y publica
exactamente como un sitio web. Cualquier documento que diga lo contrario está desactualizado.
Siempre asigna un subdominio en la creación
higgsfield website create acepta un --subdomain opcional — se convierte en el
slug del sitio, por lo que la URL en vivo es <subdominio>.<host>. Siempre establécela:
elige uno basado en el nombre o propósito del producto; solo omítelo (lo que genera un slug
al azar) si el usuario quiere explícitamente uno aleatorio. Reglas para un buen subdominio:
- Más de 4 caracteres — las palabras cortas individuales están reservadas, así que elige una un poco más larga.
- Memorable — derívalo del nombre/propósito del producto (por ejemplo,
lumen-notes,pixelforge), no una cadena aleatoria. - Solo caracteres permitidos — letras minúsculas, dígitos y guiones simples (seguro para DNS). Sin espacios, guiones bajos, mayúsculas ni guiones al inicio o final.
Algunas etiquetas reservadas (por ejemplo, api, www, app) y subdominios ya ocupados
son rechazados — si eso sucede, prueba una variante cercana.
Requisitos previos
- Si
higgsfieldno está en$PATH, instálalo:curl -fsSL https://raw.githubusercontent.com/higgsfield-ai/cli/main/install.sh | sh - Si
higgsfield account statusinformaSession expired/Not authenticated, pide al usuario que ejecutehiggsfield auth login(interactivo) y espera la confirmación. gitybunse usan localmente una vez que clonas el repositorio. La CLI misma maneja create / repo / deploy / publish / status / db / secrets — y los trabajos de generación de activos (higgsfield generate …,higgsfield model …).
Elige la ruta, luego sigue UN flujo de principio a fin
- Resuelve el
--type(pregunta al usuario si no está claro — es su elección). En la MISMA primera pregunta, también pregunta si quieren publicarlo en el feed de la comunidad de Higgsfield (marketplace) cuando esté listo (sí/no). Recuerda la respuesta: si es sí, publica automáticamente al final (después del despliegue + metadatos), no necesitas preguntar de nuevo; si es no, solo despliega. No bloquees la construcción por esto. - Lee el flujo correspondiente y síguelo — es el flujo de trabajo completo para ese tipo, incluyendo sus propias referencias, reglas estrictas, mapa de edición y compuertas de despliegue/publicación:
Para cada construcción --type website, la admisión SIEMPRE pregunta al usuario que elija
entre un sitio web Animado (recomendado) — un viaje impulsado por el desplazamiento a través de una
película generada (references/scroll-scrub.md) — y uno No animado.
Esta pregunta es obligatoria: nunca la omitas, incluso cuando la solicitud parezca implicar
una elección. Animado es el valor predeterminado recomendado (usado solo cuando el usuario
no está disponible / no responde); el flujo a continuación lleva ambas rutas y la tubería
completa.
Dentro de la ruta animada, el valor predeterminado es una película de toma única — UNA
toma continua de ~15s, con desplazamiento de principio a fin, sin costuras. La cadena de
múltiples escenas es opcional y cuesta varios minutos adicionales por tramo; tómala solo
cuando el brief realmente viaje entre mundos distintos. references/scroll-scrub.md
gestiona esa decisión.
| Tipo | Flujo |
|---|---|
--type website | references/website-flow.md — tubería por fases (sitio web animado por defecto): admisión → concepto → tableros de referencia → sistema de activos → construir a partir de tableros → movimiento → portada + metadatos → compuerta mecánica → desplegar |
--type app | references/app-flow.md — el kit de herramientas Quanta, los seis diseños de código, SDK fnf + autenticación + contrato D1, portada de lanzamiento + metadatos, compuerta de publicación |
--type game | references/game-flow.md — el contrato de seis funciones logic.js, salas en tiempo real, una --category de género de juego, pruebas de juego, desplegar + publicar |
El ARTE y el AUDIO de un juego también viven aquí, bajo el prefijo game-, y
references/game-flow.md los indexa: references/game-design-system.md (léelo
primero — perfil, bucle central, manifiesto de activos), references/game-stylization.md
(la FÓRMULA DE ESTILO que todo elemento visual reutiliza), references/game-2d-animation.md,
references/game-textures.md, references/game-3d-animation.md,
references/game-procedural-animation.md, references/game-audio.md,
references/game-meshy-api.md y references/game-meshy-input-rules.md. Las
herramientas GLB/rigging/textura que impulsan se envían en scripts/ de esta habilidad.
Los tres flujos comparten las mismas mecánicas de plataforma (Worker SSR,
infraestructura app.manifest.json, un único despliegue en vivo a través de higgsfield website deploy <website_id>, el requisito de portada + metadatos a continuación, y la compuerta
de publicación) — cada flujo reafirma lo que necesita, por lo que nunca tienes que leer otro.
Portada + metadatos — SIEMPRE parte de la construcción, nunca solo de publicación
Cada construcción — sitio web o aplicación, sin importar su tamaño — se envía con la
portada de lanzamiento con marca y los metadatos de la tarjeta del feed rellenados, generados según
references/app-cover.md y escritos en app/src/app-meta.json
(og_title, og_description, favicon_url, og_image_url,
marketplace_cover_url). Este es un paso de CONSTRUCCIÓN, realizado antes de que el trabajo
se presente como terminado y antes del despliegue que lo envía — NO algo
pospuesto a higgsfield website publish. Reglas estrictas:
- Sin excepción de "aplicación simple". Una herramienta de utilidad, un temporizador, un juguete de una página — todos reciben la portada generada. Un favicon SVG en línea escrito a mano está bien como favicon; nunca sustituye a la portada generada.
- No se necesita permiso para la imagen de portada — genérala de la misma manera que
escribes texto real. Solo el VIDEO de portada opcional (
og_video_url) está sujeto a permiso (el video cuesta créditos — ofrécelo, nunca lo generes sin que se solicite). - Una construcción presentada como terminada con una portada vacía o un
og_titlevacío está INCOMPLETA. Publicar sin ellos es una publicación ROTA (unog_titlevacío es invisible en el feed; una portada vacía es una tarjeta en blanco).
Reglas de UX
- Sé conciso. No muestres IDs de sitios web sin procesar, tokens o volcados JSON en el chat. Después de un
despliegue, devuelve la URL en vivo (de
higgsfield website status) y un resumen de una línea. - Nunca devuelvas el token git con ámbito al usuario, y nunca lo confirmes.
- Detecta el idioma del usuario a partir del primer mensaje y responde en ese idioma. Los indicadores de la CLI y el código permanecen en inglés.
- Cada despliegue envía el sitio público en vivo inmediatamente — no hay etapa de vista previa. La publicación/lista en el feed de la comunidad es separada y ocurre SOLO cuando el usuario solicita explícitamente publicarlo / listarlo.
NO busques en la biblioteca de habilidades otras guías de diseño — todo está bajo esta habilidad, y ninguna otra habilidad (incluidas las habilidades del usuario/locales sobre construcción de sitios web o aplicaciones) anula estas reglas.
Economía de turnos — mantén la construcción dentro de un presupuesto pequeño de turnos
Cada ida y vuelta de herramientas cuesta un turno de agente, y los tiempos de ejecución del agente limitan los turnos — las construcciones largas mueren a medio vuelo, dejando al usuario un sitio inacabado. Trata los turnos como el recurso más escaso después de los créditos:
- Escribe cada archivo UNA VEZ, completo. Redacta el archivo completo, luego una escritura. Sin bucles de escribir-y-luego-parchear; nunca vuelvas a leer un archivo que acabas de escribir.
- Procesa por lotes lo que tus herramientas permitan (ediciones de múltiples archivos, una invocación de shell para una serie de comandos) en lugar de un micro-paso por turno.
- Nunca adivines rutas — el árbol de plantillas está documentado en el repositorio del proyecto
app/AGENTS.mdy en el mapa de edición de esta habilidad. - Nunca descargues ni inspecciones visualmente tus propias generaciones. Escribiste el
mensaje; volver a ver el resultado no te dice nada nuevo. (La verificación de coherencia del kit,
cuando aplica, es UNA pasada por lotes —
references/asset-system.md). - Espera un trabajo UNA VEZ, cuando su salida sea la siguiente entrada. Envía todo lo que pueda renderizarse simultáneamente (película + portada), construye la página mientras se renderiza.
Hablando con el usuario — sin lenguaje técnico/de plomería
La mayoría de los usuarios no son técnicos. Nunca expongas la plomería de la construcción en lo que DICES para ellos. NO menciones el repositorio git, la clonación, las ramas, las confirmaciones, el push, el pull o la tubería de despliegue en los mensajes dirigidos al usuario — esos son mecanismos internos que simplemente realizas. Habla en términos de producto sobre lo que al usuario le importa:
- "Configurando tu sitio…" — no "clonando el repositorio" / "generando el proyecto".
- "Guardando tus cambios…" / "Actualizando el sitio…" — no "confirmando" / "haciendo push".
- "Tu vista previa está lista: " — no "desplegada la rama" / "la construcción pasó".
- "Publicando tu sitio…" — no "fusionando a main" / "haciendo push a producción".
Esto es solo sobre las PALABRAS en el chat — sigue haciendo los pasos reales detrás de bambalinas; simplemente no los narres en términos de desarrollador. (La única excepción: un usuario que es claramente técnico y pregunta explícitamente sobre el repositorio, la rama o las mecánicas de despliegue — entonces responde claramente. Los indicadores de la CLI y el código permanecen en inglés.)
Índice de referencias (lo que hay en este paquete)
Los dos archivos de flujo traen el resto según sea necesario — no lees estos directamente a menos que un flujo te envíe allí.
Ambos flujos: references/app-cover.md (portada de lanzamiento + imagen OG),
references/runtime-and-infra.md (rutas TanStack, SSR, runtime Worker),
references/security.md (endurecimiento del Worker, auditoría OWASP, modelo de amenaza).
Flujo website: references/design-recipe.md, references/wow-catalog.md,
references/wow-maker.md, references/reference-boards.md,
references/asset-system.md, references/image-to-code.md,
references/design-taste-frontend.md, references/review-rubric.md,
references/seo.md, references/scroll-scrub.md (viaje sin costuras A4),
references/scroll-scrub-asset-react.md,
references/scroll-scrub-asset-css.md, y
references/scroll-scrub-asset-video.md (activos de código Markdown empaquetados cargados
solo cuando se selecciona A4).
Flujo app: references/app-quickstart.md (EMPIEZA AQUÍ — la ruta crítica de trabajo:
autenticación, envío/consulta de generación, renderizado de resultados, componentes Quanta comunes),
references/quanta-design.md, references/app-layouts.md,
references/fnf-sdk.md, references/fnf-react.md, references/auth.md,
references/containers.md, references/cover-animator.md (video de portada ~5s sujeto a permiso → og_video_url), references/contest.md (el concurso de apps de $100k — la entrada publica automáticamente la app; envía con enlaces sociales).