Un sitio real.
Contenido real.
Un sitio web de una clínica, un flujo editorial y un panel de administración en Angular. Conectados por ForgeCMS.
El CMS headless code-first que se siente como en casa en tu aplicación Angular. Modela en TypeScript, ofrece a los editores un panel de administración real en Angular y mantén la interfaz del sitio bajo tu control.
import { defineCollection, defineField } from '@forge-cms/core';
export const posts = defineCollection({
slug: 'posts',
drafts: true,
fields: {
title: defineField.text({ required: true }),
slug: defineField.slug({ autoGenerate: true, sourceField: 'title' }),
author: defineField.relation({ collection: 'users' })
}
});Una colección se convierte en validación, persistencia, una API y una experiencia de edición en Angular.
Sin un esquema aparte que mantener sincronizado.pnpm add @forge-cms/core @forge-cms/runtime @forge-cms/db @forge-cms/auth @forge-cms/storageLicencia MIT. ForgeCMS 1.0.0 está publicado. La versión candidata 1.0.0-rc.2 sigue en el historial de versiones; Agent Kit y Analytics son experimentales.
Cómo encaja ForgeCMS
Cinco pasos desde un archivo TypeScript hasta un sitio que gestiona tu cliente. Cada uno forma parte de la versión 1.0 publicada.
01 Esquema · TypeScript primero
Una colección es TypeScript normal en tu repositorio: campos, borradores, idiomas y reglas de acceso, revisados como cualquier otro cambio.
export const services = defineCollection({
slug: 'services',
drafts: true,
locales: ['es', 'en'],
fields: {
title: defineField.text({ required: true, localized: true }),
summary: defineField.textarea({ localized: true }),
image: defineField.upload({ collection: 'media' })
}
});02 Runtime · Local API + REST
El código de servidor llama a la Local API sin pasar por HTTP; los navegadores usan REST. Ambos ejecutan el mismo control de acceso, hooks, borradores y validación.
// Analog server route: no HTTP hop, visitor access rules
const { docs } = await runtime.find({
collection: 'services',
locale: 'es',
overrideAccess: false,
user: null
});GET /api/v1/services?locale=es03 Angular · Cliente tipado + SSR
El cliente Angular convierte una colección en un recurso de signals tipado a partir de tu esquema, renderizado en el servidor con Analog e hidratado.
@Component({
template: `@for (s of services.value()?.docs; track s.id) {
<app-service-card [service]="s" />
}`
})
export class ServicesPage {
services = collectionResource<Schema>(() => ({
collection: 'services', locale: 'es'
}));
}Renderizado en el servidor · hidratado en el navegador
04 Administración · Da el control a los editores
El panel de administración reutilizable en Angular se monta bajo tus propias rutas: contenido, borradores, medios, usuarios y ambos idiomas, sin nada que construir a mano.
05 Despliegue · Perfiles certificados
Cloudflare Pages con D1 y R2, o cualquier host de Node con libSQL y almacenamiento compatible con S3. Ambos perfiles están certificados a partir de artefactos empaquetados.
Cloudflare
Certificado a partir de artefactos empaquetados
Portable
Certificado a partir de artefactos empaquetados
Por qué ForgeCMS
Code-first para quien desarrolla, cómodo para el cliente y desplegable en el edge o en cualquier lugar donde se ejecute Node.
Creado para Angular y Analog, tipado desde tu esquema hasta tu plantilla, renderizado en el servidor e hidratado.
services.tsSchemacollectionResourcetemplateUn panel de administración reutilizable que tu cliente realmente puede usar, montado dentro de tu aplicación.
Nativo del edge en Cloudflare, o portable allí donde se ejecute Node.
Herramientas opcionales para desarrolladores, para que los agentes de programación sigan los patrones de Forge admitidos.
Desarrollador ↔ cliente
Code-first · tú escribes
defineCollection({
slug: 'services',
locales: ['es', 'en'],
fields: {
title: defineField.text({ localized: true }),
summary: defineField.textarea({ localized: true }),
image: defineField.upload({ collection: 'media' })
}
})Pensado para el cliente · ellos editan
Declaras los campos una vez. Forge renderiza el formulario que edita tu cliente.
Los editores cambian el contenido, no el diseño. ForgeCMS no es un constructor de páginas: tus componentes siguen siendo tuyos.
Para sitios reales de clientes
Declara los idiomas en el esquema. Los campos text y textarea de primer nivel guardan un valor distinto por idioma; los slugs, las imágenes y las relaciones se comparten.
El texto enriquecido, los bloques, los arrays, las subidas y las relaciones no se localizan en 1.0.
Guía de localizaciónIlustrativo · el panel edita un idioma cada vez
| Campo | ES | EN |
|---|---|---|
| Título | Tratamientos faciales | Facial treatments |
| Descripción | Cuidado de la piel con resultados naturales. | Skin care with natural-looking results. |
Agent Kit Experimental
Un solo comando conecta un servidor MCP local de solo lectura y las skills oficiales para la versión exacta que instalaste. Herramientas de desarrollo en torno a ForgeCMS; la compatibilidad puede evolucionar.
pnpm add -D @forge-cms/[email protected]pnpm exec forge-cms-agent initAnalytics Experimental
Analítica opcional de páginas vistas dentro del mismo panel, basada en Cloudflare Analytics Engine. Privada por diseño:
Analytics
Vista previa ilustrativa · no son datos reales
Páginas vistas
1284
+18,4 % frente al periodo anterior de 7d
Evolución
Páginas principales
Referencias
Países
Un sitio web de una clínica, un flujo editorial y un panel de administración en Angular. Conectados por ForgeCMS.
La prueba
Lumea es el sitio de una clínica construido con ForgeCMS. Todo lo anterior funciona allí, sobre un runtime real:
Una base componible
Consumo tipado y el panel de administración reutilizable
@forge-cms/angularCliente tipado, recursos de signals, sesión de autenticación y guard
@forge-cms/adminPanel de administración Angular integrable: contenido, usuarios, inicio de sesión
Operaciones, transporte y adaptadores de despliegue
@forge-cms/s3StorageAdapter compatible con S3 para almacenamiento de archivos duradero y portable
@forge-cms/apiContratos de ApiContext y de los manejadores HTTP
@forge-cms/runtimeLocal API, acceso, hooks, borradores, manejadores HTTP
@forge-cms/cloudflareAdaptadores de base de datos D1 y de almacenamiento R2
Modelo, datos, identidad y archivos
@forge-cms/coreDSL de esquemas, validación, definiciones de colecciones y globals
@forge-cms/dbContrato de base de datos, adaptadores InMemory y libSQL, sincronización del esquema
@forge-cms/authAutenticación de la colección de usuarios, sesiones, claves de API
@forge-cms/storageContrato de almacenamiento y adaptador InMemory
Contratos de adaptadores y soporte para agentes de programación
@forge-cms/testingConjuntos de pruebas de contrato para adaptadores
@forge-cms/agentServidor MCP de solo lectura y skills oficiales para agentes de programación
ExperimentalBases de datos: InMemory, libSQL y Cloudflare D1. Almacenamiento: InMemory, Cloudflare R2 y un servicio compatible con S3 (Garage es el certificado en CI; AWS S3, Backblaze B2 y Wasabi son configurables, no certificados). Hay dos perfiles duraderos certificados: Cloudflare (D1 + R2) y portable (libSQL + S3).
Abrir el inicio rápidoForgeCMS 1.0 → 2.0
ForgeCMS 1.0.0 ya está publicado. La hoja de ruta V2 se centra en flujos editoriales más sólidos, la experiencia de desarrollo y las operaciones en producción.
Son hitos de producto, no versiones de npm ni fechas de entrega. Las funcionalidades de V2 son intenciones de la hoja de ruta hasta que se publiquen y documenten.
10 hitos · el siguiente es V2-01
Cerrar el seguimiento de la certificación 1.0 y reforzar la gobernanza de versiones, seguridad y accesibilidad.
Hacer más rápido empezar, configurar, diagnosticar y construir una primera colección.
Convertir el panel de administración Angular reutilizable en un backoffice predeterminado coherente.
Mejorar la gestión de colecciones, la recuperación y los flujos de trabajo de los editores.
Dar soporte a la autoría editorial diaria con texto enriquecido portable y herramientas de medios útiles.
Ampliar el modelado estructurado y multilingüe manteniendo la paridad entre adaptadores.
Añadir flujos fiables de revisión, programación, auditoría e identidad.
Dar a los desarrolladores herramientas seguras y fiables para inspeccionar y diagnosticar un proyecto ForgeCMS.
Hacer que las actualizaciones, la observabilidad y la recuperación sean repetibles en los perfiles admitidos.
Validar el producto con consumidores independientes y una migración y una versión certificadas.
Conoce el modelo, explora un proyecto real y construye un sistema de contenidos que encaje en tu aplicación Angular.