~/codigoagente

FigCraft: la alternativa open source a Figma hecha en Rust (prueba real con capturas)

FigCraft es una herramienta open source de diseño de interfaces y prototipado que copia el flujo de trabajo de Figma: frames, auto layout, componentes con variantes, variables, prototipos y un Dev Mode que genera código. Está escrita en Rust, funciona sin cuenta y sin conexión, y se publica con licencia MIT o Apache-2.0. Se ha hecho viral en X como "la alternativa gratuita a Figma", así que la hemos instalado y probado para separar lo que hace de verdad de lo que dicen los hilos.

Resumen rápido: el editor funciona y es sorprendentemente completo para una versión 0.5, la CLI y el servidor MCP son lo más interesante si trabajas con agentes de IA, y todavía es una alfa. Sus propios autores calculan que está "a un 49 % de poder sustituir a Figma en trabajo real".

Pantalla de inicio de FigCraft 0.5.1 en el navegador con los botones New design file y Open file y el campo para unirse a una sesión con un código
La pantalla de inicio de FigCraft 0.5.1 (versión web) corriendo en nuestro equipo · codigoagente

Qué es FigCraft y quién lo hace

FigCraft se define en su repositorio como "una reimplementación *clean-room* y open source de Figma, reconstruida en Rust puro". *Clean-room* significa que lo han escrito a partir de documentación pública y del comportamiento observable, sin código, formatos, iconos ni imágenes de Figma. El README aclara además que no tiene relación con Figma, Inc.

  • Repositorio: github.com/storytold/figcraft
  • Web oficial: getartcraft.com/apps/figcraft
  • Versión probada: 0.5.1, publicada el 12 de octubre de 2026. La rama principal ya marca 0.6.0 en su Cargo.toml, aún sin release.
  • Licencia: doble, MIT o Apache-2.0 a tu elección. El nombre y los logos de ArtCraft son marcas registradas y quedan fuera de la licencia: si haces un fork, tienes que quitarlos.
  • Estado: alfa ("early alpha" en su propia insignia).

Los mensajes virales dicen que es "del mismo tipo que se hizo viral con las alternativas open source a Adobe". En el repositorio no firma una persona: el copyright es de "ArtCraft Team and the FigCraft contributors". Es cierto que el mismo equipo publica una familia de apps llamada Crafting Apps, todas en Rust y open source: PhotoCraft (edición de imagen), VectorCraft (ilustración vectorial), FilmCraft (vídeo), LightCraft (revelado de fotos), PdfCraft, EffectCraft (motion graphics) y DesignCraft (maquetación). FigCraft es la de diseño de interfaces.

Qué puedes hacer con FigCraft

La lista viral habla de "diseñar interfaces, crear componentes reutilizables, construir prototipos interactivos, layouts responsivos y flujos con IA". Esto es lo que dice el README y lo que hemos podido comprobar:

FunciónQué incluye¿Lo probamos?
Diseño de interfacesFrames, formas, texto, capas, páginas, tema claro y oscuroSí
Auto layoutVertical, horizontal, wrap y grid; Hug / Fill / Fixed; padding y gapSí
ComponentesComponentes, instancias con overrides, variantes, panel de AssetsCapturas oficiales
VariablesColor, número, texto y booleano, con modos (claro/oscuro)Abrimos el panel
VectoresPen, Pencil, redes vectoriales, booleanas editables, trazos de ancho variableNo
PrototiposConexiones, triggers, transiciones, flujos y vista de presentaciónPestaña Prototype
Dev ModeMedidas, anotaciones, "ready for dev" y código CSS, HTML, React, Leptos, SwiftUI y ComposeSí, CSS
ColaboraciónSesiones en vivo con cursores y chat, servidor propio `figcraft-server`No (es *preview*)
AutomatizaciónCLI, canal de control JSON y servidor MCP sobre el mismo registro de comandosSí
Archivos`.figcraft` en tu disco; SVG, PNG, JPG, WebP y PDF; abre `.fig` "con el mejor esfuerzo"Render con la CLI

Un matiz importante sobre la "IA": FigCraft no trae un generador de diseños con IA dentro. Lo que ofrece es que cualquier agente (Claude Code, Claude Desktop u otro cliente MCP) pueda manejar el programa con los mismos comandos que usas tú con el ratón. Lo explicamos más abajo con una prueba.

Cómo instalar FigCraft

Los instaladores están en la página de releases de GitHub. Para la 0.5.1 hay:

  • Windows: instalador .msi (x64, x86 y ARM64) o versión portable en .zip. La portable x64 trae figcraft.exe y figcraft-cli.exe.
  • macOS: .dmg universal (Apple silicon e Intel), firmado y notarizado, más un .zip aparte con la CLI.
  • Linux: AppImage, .deb, .rpm, Flatpak y .tar.gz (x86_64 y ARM64). El .tar.gz trae bin/figcraft y bin/figcraft-cli.
  • FreeBSD: .tar.gz x86_64.
  • Web: un .zip con un sitio estático (WebAssembly) que puedes alojar tú mismo.

Junto a los archivos publican un SHA256SUMS.txt para verificar la descarga. En Linux, por ejemplo:

terminalsh
curl -LO https://github.com/storytold/figcraft/releases/download/v0.5.1/figcraft-0.5.1-linux-x86_64.tar.gz
curl -LO https://github.com/storytold/figcraft/releases/download/v0.5.1/SHA256SUMS.txt
sha256sum --check --ignore-missing SHA256SUMS.txt
tar xzf figcraft-0.5.1-linux-x86_64.tar.gz
./figcraft-0.5.1-linux-x86_64/bin/figcraft-cli --version

La última línea devuelve figcraft-cli 0.5.1.

Compilarlo desde el código

Necesitas Rust 1.95 o superior. Las fuentes de la interfaz vienen de otro repositorio, craft-fonts, que debe estar al lado; sin él, FigCraft usa las fuentes del sistema.

terminalsh
git clone https://github.com/storytold/figcraft
git clone https://github.com/storytold/craft-fonts
cd figcraft
cargo run --release -p figcraft

Si clonas craft-fonts después de una primera compilación, ejecuta cargo clean -p figcraft-text para que la siguiente compilación incluya las fuentes.

La versión web, en local

Para nuestras capturas usamos la versión web de la release, servida desde una carpeta cualquiera. No necesita backend: son un index.html, un .js y un .wasm de unos 18 MB.

terminalsh
curl -LO https://github.com/storytold/figcraft/releases/download/v0.5.1/figcraft-web-0.5.1.zip
unzip figcraft-web-0.5.1.zip
cd figcraft-web-0.5.1
python3 -m http.server 8765

Abre http://localhost:8765 en un navegador con WebGPU o WebGL2. Nosotros la probamos en Chromium sin GPU (renderizado por software) y funcionó, aunque más lento que la app nativa.

Prueba real: un frame, auto layout y Dev Mode

La interfaz está pensada para que, si vienes de Figma, no tengas que aprender nada: barra de herramientas abajo, capas a la izquierda, panel Design/Prototype a la derecha y los mismos atajos (F frame, R rectángulo, T texto, Shift+A auto layout).

Creamos un frame con F, dibujamos un rectángulo con R y añadimos un texto con T:

Editor de FigCraft con un frame que contiene un rectángulo gris y el texto Hola desde codigoagente seleccionado, y el panel de tipografía con la fuente Inter a 12 px
Frame, rectángulo y texto creados con los atajos de siempre; el panel derecho muestra la tipografía del texto seleccionado · codigoagente

Con el frame seleccionado, Shift+A le añade auto layout. En nuestra prueba lo creó horizontal; lo cambiamos a vertical desde el panel y pusimos un gap de 24. Los hijos se recolocan solos y el frame pasa a "Hug" en ancho y alto:

Panel de auto layout de FigCraft con dirección vertical, gap de 24, dimensiones Hug y el frame recolocando el rectángulo y el texto en columna
Auto layout vertical con gap 24: los mismos controles que en Figma (dirección, Hug, alineación, padding, clip content) · codigoagente

Después activamos Dev Mode (el icono </> de la barra inferior) y seleccionamos el frame. El panel de inspección muestra medidas, dirección, gap y padding, y al final el código:

Dev Mode de FigCraft mostrando el CSS generado del frame: width 380px, display flex, flex-direction column, gap 24px, padding y background
El CSS que genera Dev Mode para el frame con auto layout: flex en columna con el gap que pusimos · codigoagente

Este es el CSS que copiamos con el botón Copy CSS:

snippetcss
/* Frame 1 */
width: 380px;
height: 581px;
display: flex;
flex-direction: column;
gap: 24px;
padding: 50px 40px 322px 40px;
justify-content: flex-start;
align-items: flex-start;
background: #FFFFFF;

Fíjate en el padding inferior de 322 px: al aplicar auto layout, FigCraft conservó como padding el espacio vacío que había en el frame dibujado a mano. Es el mismo comportamiento de Figma, pero conviene revisarlo antes de llevarte el código.

Componentes, variantes y prototipos

No montamos un sistema de diseño desde cero, pero el repositorio trae archivos de ejemplo en examples/ y capturas oficiales de esas funciones. Esta es la de componentes, con un botón de nueve variantes (Style × State) y el panel de Assets:

Sistema de diseño Ridgeline en FigCraft con el panel Assets mostrando componentes Button, Toggle y Search field y un component set de nueve variantes en cuadrícula
Componentes y variantes en el ejemplo `ridgeline-design-system.figcraft` · FigCraft (MIT/Apache-2.0)

Y la de prototipado, con las conexiones entre pantallas de un onboarding:

Pestaña Prototype de FigCraft con cuatro pantallas de onboarding unidas por curvas azules y la interacción On click, Navigate to en el panel derecho
Conexiones, triggers y transiciones entre pantallas en `ridgeline-onboarding.figcraft` · FigCraft (MIT/Apache-2.0)

La parte interesante: CLI y servidor MCP para agentes de IA

Cada opción de menú, herramienta y gesto de FigCraft es un comando de un único registro, y la interfaz, la CLI, el canal de control y el servidor MCP llaman a esos mismos comandos. La web dice "más de 400"; el figcraft-cli commands de la 0.5.1 nos listó 536.

Renderizar un archivo sin abrir la app

terminalsh
figcraft-cli info examples/ridgeline-app.figcraft
figcraft-cli render examples/ridgeline-app.figcraft -o ridgeline.png --scale 1

info devolvió 349 nodos y 17 variables, y render generó un PNG de 2639×1117 con el renderizador propio de FigCraft:

Render de la CLI de FigCraft del ejemplo Ridgeline: componentes de la app de senderismo y tres pantallas móviles, dos en modo claro y una en modo oscuro
`figcraft-cli render` del ejemplo `ridgeline-app.figcraft`, sin ventana y sin GPU · codigoagente

Diseñar con un script de comandos

figcraft-cli run ejecuta una lista de comandos en una sesión sin ventana y guarda el resultado. Este script crea una tarjeta con dos textos y un rectángulo y le aplica auto layout vertical:

tarjeta.jsonjson
[
  {"command": "frame.create", "params": {"x": 0, "y": 0, "width": 360, "height": 200, "name": "Tarjeta"}},
  {"command": "node.create", "params": {"type": "text", "parent": 2, "x": 24, "y": 24, "text": "codigoagente", "props": {"fontSize": 28}}},
  {"command": "node.create", "params": {"type": "text", "parent": 2, "x": 24, "y": 70, "text": "Diseñado desde la CLI de FigCraft", "props": {"fontSize": 16}}},
  {"command": "node.create", "params": {"type": "rectangle", "parent": 2, "x": 24, "y": 120, "width": 160, "height": 44, "name": "Botón"}},
  {"command": "layout.add", "params": {"ids": [2], "direction": "vertical"}}
]
terminalsh
figcraft-cli run tarjeta.json --out tarjeta.figcraft
figcraft-cli render tarjeta.figcraft -o tarjeta.png --scale 2

Cada paso imprime una línea JSON ({"command":"frame.create","ok":true,"result":{"id":2},"step":0}) y, si uno falla, no se guarda nada. Los ids se asignan en orden: la primera página es 1 y la primera capa, 2.

Conectarlo a Claude Code por MCP

figcraft-cli mcp arranca un servidor MCP por stdio. Hay dos modos: sin ventana (un documento en memoria) o enganchado a la app abierta, para que veas los cambios en directo:

terminalsh
claude mcp add figcraft -- /ruta/a/figcraft-cli mcp
claude mcp add figcraft-app -- /ruta/a/figcraft-cli mcp --attach 7979

Para el segundo, abre la app con figcraft --control 7979; ese canal solo escucha en 127.0.0.1. En nuestra prueba, el servidor de la 0.5.1 respondió al initialize como figcraft 0.5.1 y expuso 18 herramientas: list_commands, run_command, batch, create_node, set_properties, inspect_document, get_node, select, export, screenshot, open_file, save_file, undo, redo, pointer, key, type_text e inspect_ui.

Con screenshot y export el agente puede ver lo que ha diseñado y corregirlo, que es lo que convierte esto en un flujo útil y no en una demo. Si todavía no usas MCP ni skills, empieza por nuestra guía de skills de Claude Code y por find-skills, que te ayuda a encontrar herramientas para tu agente.

FigCraft vs Figma: lo que todavía le falta

El propio README es honesto y conviene leerlo antes de mover a tu equipo:

  • Alfa: "a un 49 % de sustituir a Figma en trabajo real", según su estimación. Casi todo el menú principal está conectado, pero no se ha comprobado con documentos reales de Figma.
  • Archivos .fig: se abren "con el mejor esfuerzo". También importa el JSON de la API REST de Figma con prototipos y variables.
  • Colaboración: es una *preview*. No hay cuentas, equipos ni nube: el acceso es el enlace o el código.
  • Compartir online no va cifrado de extremo a extremo: "Share ▸ Online" sube el archivo al servidor público collab.craftapps.dev, sin cifrar en reposo, y se borra a los 30 días sin uso. Para trabajo confidencial, usa tu propio figcraft-server o la red local.
  • Plugins: usa sus propios plugins WebAssembly en sandbox, no los de Figma.

A favor: no hay cuenta, ni telemetría, ni suscripción; los archivos son tuyos y en local; abre al instante y es software libre de verdad, con licencia permisiva.

Errores y sorpresas que nos encontramos

  • "Open file" no abre nada en la versión web. La guía de alojamiento lo dice: en la web "los diálogos de archivo nativos aún no están conectados" y arranca con un documento nuevo. Para abrir los ejemplos usa la app de escritorio o figcraft-cli.
  • Software rasterizer detected - loss of performance expected. Sale en la consola del navegador cuando no hay GPU. Funciona, pero lento; con aceleración por hardware desaparece.
  • error: unknown option --help. figcraft-cli commands --help no existe. La ayuda general sale ejecutando figcraft-cli sin argumentos, y figcraft-cli commands --filter <texto> filtra la lista.
  • Auto layout horizontal por defecto. Shift+A sobre un frame con elementos sueltos nos lo creó en horizontal. Cambia la dirección en el panel o usa layout.add con "direction": "vertical" desde la CLI.
  • Faltan fuentes al compilar. Sin ../craft-fonts, la app usa las del sistema y el texto puede verse distinto que en las capturas oficiales.

Preguntas frecuentes

¿FigCraft es gratis?

Sí. Todas las versiones son gratuitas y el código es libre con licencia MIT o Apache-2.0. Solo las marcas de ArtCraft quedan fuera de la licencia.

¿Puedo usar FigCraft para trabajos comerciales?

La licencia MIT/Apache-2.0 lo permite, también modificarlo y redistribuirlo. Lo que te frena hoy es la madurez: es una alfa, así que no la uses todavía como única herramienta de un proyecto con cliente.

¿FigCraft abre archivos de Figma?

Abre .fig "con el mejor esfuerzo" y el JSON que exporta la API REST de Figma. Puede exportar a .fig desde la CLI (--format fig). Cuenta con que algo se pierda en archivos complejos.

¿Tiene inteligencia artificial?

No genera diseños por sí solo. Lo que tiene es un servidor MCP y una CLI para que un agente como Claude Code diseñe con él usando los mismos comandos que la interfaz.

¿Funciona en el navegador?

Sí, con la versión web en WebAssembly, que puedes alojar en cualquier hosting estático. Necesita WebGPU o WebGL2 y, por ahora, no abre archivos locales.

¿Está en español?

La interfaz tiene inglés y español, aunque el español es un borrador pendiente de revisión. Se cambia en Preferences.

Conclusión

FigCraft es la alternativa open source a Figma más completa que hemos probado: auto layout, componentes, variables, prototipos y Dev Mode funcionan en una app nativa, gratis y con licencia permisiva. No sustituye hoy a Figma en un equipo, y sus autores son los primeros en decirlo. Si diseñas con agentes de IA, la CLI y el servidor MCP ya justifican instalarlo: descarga la 0.5.1, conecta figcraft-cli mcp a Claude Code y pídele tu primera pantalla.

// código fuente

Repositorio del artículo
El código del que habla este artículo es público: revísalo, dale una estrella o clónalo desde aquí.

// implementación

¿Necesitas implementar esta automatización en tu negocio?
No pierdas semanas configurando servidores, APIs y agentes. Safe Build Labs, la agencia que patrocina codigoagente, lo construye por ti, listo para producción.
Fish Speech 3.0 trae Drama 3 y S2-Pro: clonación de voz y TTS que puedes correr en tu GPU. Requisitos, licencia y cuánto cuesta frente a ElevenLabs.
  • Alternativas gratis a apps de pago
  • Instálalo en tu servidor
leer artículo
Qué es Idol de Speridlabs, cómo pasa de una foto a un objeto 3D con Gaussian Splatting, cuánta GPU pide, cómo instalarlo y qué licencias revisar antes.
  • Diseño, imagen y vídeo
  • Alternativas gratis a apps de pago
leer artículo
Analizamos Concat 0.2.8, el editor de vídeo libre y local alternativo a CapCut: subtítulos con Whisper, sin marca de agua, licencia AGPL y servidor MCP.
  • Alternativas gratis a apps de pago
  • Diseño, imagen y vídeo
leer artículo