Escribe la semántica CSS una vez.
Ejecútalo en cualquier framework.
as-cssdo es un estándar de abstracción de CSS propuesto. Un contrato de datos independiente del framework que mapea clases semánticas de componentes a cualquier framework de CSS — Bootstrap, Tailwind, Bulma, Foundation y más. Cambia de framework. Mantén las plantillas.
Esta página documenta el concepto tal como fue concebido. Es una pre-especificación — un punto de partida para la discusión, no un producto terminado. Las ideas aquí están deliberadamente abiertas.
Un objeto de datos. Todo framework lo habla.
El problema
Lock-in de framework
Las plantillas que usan clases del framework directamente están fuertemente acopladas. Cambiar de Bootstrap a Tailwind significa reescribir cada plantilla, cada componente, cada página.
Sin vocabulario compartido
Cada framework tiene su propia nomenclatura para el mismo concepto. Un "primary button" es btn btn-primary en Bootstrap, btn-primary en Bulma, una composición de utilidades en Tailwind. No hay estándar.
Trabajo de migración repetido
Cada proyecto que cambia su framework de CSS empieza la migración desde cero. Los mismos problemas de mapeo se resuelven una y otra vez, por equipos distintos, de formas distintas.
El concepto
Un contrato de datos semántico
as-cssdo define un conjunto estándar de identificadores semánticos de componentes — button.primary, card.base, alert.warning — y un objeto de datos estructurado que mapea cada identificador a su implementación en cualquier framework de CSS.
El contrato es el estándar. Las implementaciones son adaptadores. Los frameworks aportan su propio adaptador — o lo hace la comunidad.
Adaptadores de framework
Cada framework tiene un fichero adaptador que implementa el contrato. Cambiar de framework significa intercambiar un adaptador por otro. Las plantillas usan s-btn-primary — nunca la clase del framework directamente.
Cómo funciona — paso a paso
El contrato define identificadores semánticos. button.primary significa "el botón principal de llamada a la acción" — independiente del framework.
Cada adaptador mapea cada identificador a las clases específicas del framework o a una composición de utilidades.
Un compilador lee contrato + adaptador y genera la salida CSS — una hoja de estilos de clases semánticas lista para usar.
Las plantillas usan solo clases semánticas. Para cambiar de framework: intercambia el adaptador, recompila. Plantillas intactas.
Encaje en el ecosistema
AS Starter es una demostración en vivo de as-cssdo en acción. Su capa semántica (clases s-*) sigue el contrato de as-cssdo, actualmente mapeado a Bootstrap. Prueba que el concepto funciona en una aplicación en producción.
as-cssdo vive bajo el ecosistema assist-series — independiente, abierto a contribuciones, pero respaldado por una implementación que funciona. assist-series aporta la infraestructura y la credibilidad.
La visión a largo plazo: los autores de frameworks contribuyen y mantienen su propio adaptador. Ser parte del estándar as-cssdo significa que su framework queda accesible para cualquier proyecto que use el contrato.
Roadmap — del concepto al estándar
Prueba de concepto
- Definir el conjunto de identificadores semánticos
- Adaptador Bootstrap — mapeo completo
- Prototipo del compilador
- Demo en vivo vía as-starter
Multi-framework
- Adaptador Tailwind
- Adaptador Bulma
- Guía de contribución de adaptadores
- Sitio de documentación
Comunidad
- Liberación open source
- Paquete npm
- Alcance a autores de frameworks
- Especificación versionada del estándar
Estándar
- Los autores de frameworks mantienen adaptadores
- Tooling de IDE
- Integraciones con build tools
- Especificación as-cssdo v1.0
Preguntas abiertas
Esto es una pre-especificación. Las siguientes preguntas quedan deliberadamente abiertas — definen la discusión, no la respuesta.
¿Te interesa la idea?
El concepto está en su fase más temprana. Si trabajas en un framework de CSS, construyes herramientas para desarrolladores, o simplemente ves valor en la idea — escríbenos. El estándar lo darán forma quienes lo usen.