Files
ContainerFlow/CLAUDE.md
T
2026-05-08 02:19:45 +00:00

41 lines
1.4 KiB
Markdown

# Dockerflow (ContainerFlow)
## Nomenclatura UI
- **Nodo** — tarjeta de servicio en el canvas (`ServiceNode.tsx`)
- **Panel** — panel lateral izquierdo con detalles del servicio (`DetailPanel.tsx`)
- **Canvas** — mesa de trabajo donde se ven los nodos y conexiones (ReactFlow)
## Stack
- **Frontend:** React + ReactFlow + Tailwind CSS
- **Backend:** Hono + Bun
- **Docker:** dockerode para comunicacion con Docker API
## Estructura
- `src/client/` — frontend React
- `nodes/` — componentes de nodos (ServiceNode, GroupNode)
- `panels/` — paneles (DetailPanel)
- `hooks/` — hooks (useDocker)
- `engine/` — layout
- `components/` — componentes generales
- `src/server/` — backend Hono
- `index.ts` — servidor principal, WebSocket, API REST
- `docker.ts` — interaccion con Docker
- `watcher.ts` — polling de stats y eventos
- `src/shared/` — tipos compartidos
## Comandos
- `bun run dev` — desarrollo (servidor + cliente)
- `bun run build` — build de produccion
## i18n (Internacionalizacion)
- Todo texto visible en la UI debe usar el sistema de traducciones (`useT()` hook de `src/client/i18n.tsx`)
- Al agregar texto nuevo, agregar la key en ambos diccionarios (en + es) en `i18n.tsx`
- Keys usan formato `seccion.descripcion` (ej. `"settings.save"`, `"actions.restart"`)
- Nunca hardcodear strings de UI directamente en JSX
- El idioma se persiste en `localStorage("df:lang")`, default `"en"`