Documentar
Una fuente, varios destinos
Cómo publicar la misma documentación Markdown en las guidelines de Figma, en Code Connect, en el repositorio, en Claude y en Storybook sin mantener copias distintas.
Última revisión:
Cada herramienta lee las reglas del sistema en un sitio distinto: el agente de Figma, en las guidelines; Claude Code, en el repositorio; Claude Design, en el sistema publicado. Si escribes una versión para cada una, acabarán diciendo cosas distintas. Esta página propone escribir una vez y publicar en cada destino.
En esta página
- Los destinos
- La carpeta docs como fuente
- Qué va a cada destino
- Generar las guidelines de Figma
- En resumen
Los destinos
| Destino | Quién lo lee | Límites | Fuente |
|---|---|---|---|
| Guidelines de la librería | El agente de Figma | De 3 a 8 archivos, menos de 100 KB recomendados, 200 KB como máximo | Figma: About guidelines |
| Instrucciones de Code Connect | Agentes que leen el diseño por el servidor MCP | Una por conexión de componente | Figma: Code Connect integration |
CLAUDE.md o AGENTS.md | Claude Code y otros agentes de código, en cada sesión | Menos de 200 líneas por archivo, según Claude Code | Claude Code: Memory |
| Skills | Claude Code, cuando la tarea coincide | SKILL.md de menos de 500 líneas | Claude Code: Skills |
| Sistema de diseño en Claude | Claude Design y los chats de Claude | En beta; se crea desde fuentes o con /design-sync | Claude Help: Set up your design system |
| Conocimiento de un Project | Los chats de ese Project | Se usa en todos sus chats | Claude Help: Projects |
| Documentación MDX de Storybook | Agentes conectados al MCP de Storybook | Solo lo escrito en el MDX | Storybook: Best practices |
Fuente
Repositorio
- docs/, Fundamentos, componentes, patrones, reglas
Destinos
Generados o enlazados
- Guidelines de Figma, Agente de Figma
- CLAUDE.md, AGENTS.md y skills, Agentes de código
- Sistema publicado en Claude, Claude Design
- Instrucciones de Code Connect, Servidor MCP de Figma
La carpeta docs como fuente
Recomendación
La fuente es la carpeta docs/ del repositorio, porque es el único sitio con historial de cambios, revisión por pull request y validación automática. Los demás destinos se generan desde ella o la enlazan. Nunca se edita una regla directamente en un destino.
Qué va a cada destino
- Guidelines de Figma: las reglas que afectan al diseño (fundamentos, antipatrones, patrones), agrupadas en pocos archivos. No las props: el agente de Figma trabaja con los componentes de la librería, no con el código.
- Instrucciones de Code Connect: dos o tres líneas por componente con lo que un agente de código necesita al implementarlo, sacadas de la sección Reglas de su documento. Lo vemos en Instrucciones para el MCP.
CLAUDE.mdoAGENTS.md: las reglas que valen siempre y un mapa de la carpetadocs/, no los documentos enteros. Claude Code permite importar archivos con@ruta, pero los archivos importados se cargan al empezar la sesión y no reducen el coste de contexto (Claude Code: Memory). Mejor enlazar las rutas y dejar que el agente abra lo que necesite (capítulo 6).- Sistema de diseño en Claude: el repositorio con los componentes y la documentación, como una de sus fuentes. Si los componentes son de React,
/design-syncdesde Claude Code lee los tokens y los componentes directamente (Claude Help: Set up your design system). - Storybook: si usas su MCP, el manifiesto de documentación solo recoge lo que está escrito en los archivos MDX, no valores importados de otros archivos (Storybook: Best practices).
Generar las guidelines de Figma
Mientras las guidelines estén en beta, los archivos se suben a mano (Figma: About guidelines). Un script puede prepararlos desde docs/ y comprobar el tamaño:
scripts/build-figma-guidelines.mjs
// Junta docs/ en los archivos que se suben a Figma (Library → Manage guidelines…).
import fs from 'node:fs';
import path from 'node:path';
const OUT = 'dist/figma-guidelines';
const groups = {
'overview.md': ['docs/foundations'],
'rules.md': ['docs/rules'], // reglas transversales y anti-patterns.md
'patterns.md': ['docs/patterns'],
'content.md': ['docs/content'],
};
const read = (p) =>
fs.statSync(p).isDirectory()
? fs.readdirSync(p).filter((f) => f.endsWith('.md')).sort().map((f) => read(path.join(p, f))).join('\n\n')
: fs.readFileSync(p, 'utf8').replace(/^---\n[\s\S]*?\n---\n/, ''); // sin frontmatter
fs.mkdirSync(OUT, { recursive: true });
let total = 0;
for (const [file, sources] of Object.entries(groups)) {
const text = sources.map(read).join('\n\n');
fs.writeFileSync(path.join(OUT, file), text);
total += Buffer.byteLength(text);
}
console.log(`Guidelines: ${(total / 1024).toFixed(1)} KB`);
if (total > 100 * 1024) process.exitCode = 1; // Figma recomienda menos de 100 KBEl script es un ejemplo: ajusta los grupos a tu carpeta docs/. Lo importante es el orden de trabajo: se cambia docs/, se genera, se sube.
En resumen
- Cada herramienta lee las reglas en un sitio distinto, con límites distintos.
- La carpeta
docs/del repositorio es la única fuente; los destinos se generan o la enlazan. - Las guidelines de Figma se pueden generar con un script que respete el límite de tamaño.
Fuentes
- Figma: About guidelines
- Figma: Code Connect integration
- Claude Code: How Claude remembers your project
- Claude Code: Extend Claude with skills
- Claude Help: Set up your design system in Claude Design
- Claude Help: How can I create and manage projects
- Storybook: Best practices for using Storybook with AI