Arquitectura en vivo
Las piezas de cada proyecto como datos, dibujadas como diagrama, y encendidas donde trabaja un agente.
Cada proyecto puede tener su arquitectura: las piezas del sistema (base de datos, API, frontend, email, pagos, colas, servicios externos…) y sus conexiones. Se guarda como datos, no como dibujo: la pestaña Arquitectura del proyecto la dibuja ordenada sola, y también se exporta a Mermaid para un README.
Solo la ve el equipo del proyecto, no sus clientes, porque incluye direcciones internas.
Crearla
Lo más rápido es pedírselo a tu agente con el skill fxc-scan. También se importa un JSON a mano:
fxc arch import arquitectura.json --project-id <id>
{
"nodes": [
{ "key": "web", "kind": "frontend", "name": "Tienda web", "provider": "Next.js", "url": "https://tienda.example.com" },
{ "key": "api", "kind": "api", "name": "API", "provider": "Express" },
{ "key": "db", "kind": "database", "name": "PostgreSQL", "provider": "RDS" },
{ "key": "stripe", "kind": "payments", "name": "Pagos", "provider": "Stripe" }
],
"edges": [
{ "from": "web", "to": "api", "protocol": "https" },
{ "from": "api", "to": "db", "protocol": "sql" },
{ "from": "stripe", "to": "api", "label": "webhooks" }
]
}
| Campo | Notas |
|---|---|
key |
Obligatorio y estable entre importaciones: así se conservan posiciones y tareas enlazadas |
kind |
frontend, api, database, cache, queue, storage, email, payments, auth, cdn, worker, external u other |
name |
Obligatorio |
provider, environment, url, host, notes |
Opcionales. Nunca credenciales: una URL con usuario o contraseña se rechaza |
tasks |
Ids de tareas a enlazar. Si se omite, se conservan los enlaces que ya tenga la pieza |
Importar reemplaza la arquitectura: las piezas que no vengan se borran y las conexiones se rehacen.
Verla en vivo
Una pieza se ilumina por tres motivos, de más a menos fuerte:
- Tarea enlazada en marcha. Una tarea enlazada a la pieza (
fxc arch link <tarea> <pieza>) está en un estado con animación de progreso: la pieza se barre con el color de ese estado. - Foco de un agente. El agente avisa que está trabajando ahí (
fxc arch focus <pieza> --task <tarea>, ofocus_piecespor MCP). Muestra «Agente trabajando aquí» y se apaga solo a los 10 minutos, o confxc arch unfocus. - Deducción por nombre (beta). Una tarea en marcha nombra la pieza («revisar los webhooks de Stripe») aunque nadie la haya enlazado. Se ve punteada y se puede apagar desde el diagrama.
Todo llega en vivo, sin recargar la página.
Comandos
fxc arch get --project-id <id>
fxc arch mermaid --project-id <id>
fxc arch link <tareaId> stripe --project-id <id>
fxc arch focus stripe api --task <tareaId> --minutes 15 --project-id <id>
fxc arch unfocus --all --project-id <id>