Kit y sistemas
Qué vive en el kit, qué vive en cada sistema y cómo se mantienen sincronizados.
Dos tipos de repo
| Repo | Contiene | Ejemplo |
|---|---|---|
Kit (design-system-agentic-first-kit) |
El motor: interfaz, CLI ds, scripts de sync y publicación, plantilla, skills y esta metodología. No nombra ningún producto. |
Uno solo, compartido. |
Sistema (<producto>-design-system) |
El contenido de un producto: system.json, DESIGN.md, fichas, CSS experimental, instantánea de producción y huellas. |
Uno por producto. |
| Producción | El código real del producto. El sistema lo lee; no lo modifica. | El repo de cada producto. |
kit ──(dependencia npm)──▶ sistema ──(lee por ruta, ds sync)──▶ producciónEs el patrón de Docusaurus, Storybook o Starlight: el motor se instala; el contenido es tuyo. Así cada sistema recibe las mejoras del kit subiendo de versión, sin mezclar cambios a mano.
Por qué el sistema no vive dentro del repo de producción
Es una opción válida (lo hacen equipos con un monorepo), pero con un solo entorno de despliegue cualquier cambio en producción sale a producción. Separados:
- documentar no arriesga el producto;
- el sistema tiene su propio historial y su propio ritmo;
- el enlace se mantiene igual de estricto: las huellas detectan cualquier cambio de producción.
Cuando el producto tenga staging y CI, se añade a su CI un ds check que avise si un cambio de producción deja una ficha desajustada (ver «Git, GitHub y entornos»).
Desarrollar el kit con datos reales
La interfaz se pule mejor con contenido real. Para eso se enlaza el kit en local desde el repo del sistema:
cd producto-design-system
npx ds enlazar ../design-system-agentic-first-kit # el kit necesita su propio npm install
npx ds dev
npx ds desenlazar # vuelve a la versión fijada en package.jsonds enlazar crea el enlace solo en ese repo (no usa npm link, que necesita permisos sobre la carpeta global de npm). Un npm install en el sistema también deshace el enlace.
Con el kit enlazado, ds dev ejecuta el motor desde la carpeta del kit: cada cambio en la interfaz se ve al momento con los datos del sistema. Los cambios se commitean en el kit, nunca en el sistema.
Sin enlazar, ds copia el motor a .ds/kit (ignorado por git) y lo ejecuta desde ahí.
Actualizar un sistema
npm install github:USUARIO/design-system-agentic-first-kit#vX.Y.Z
npx ds skills # actualiza las skills
npx ds sync && npx ds checkLa skill actualizar-kit lo hace y resume el changelog.
Versiones del kit
- Parche: arreglos de interfaz sin cambios en el contenido.
- Menor: funciones nuevas compatibles (una sección, un campo opcional).
- Mayor: cambios que obligan a tocar fichas o
system.json. Van con una guía de migración enCHANGELOG.md.