Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ This is the **client-side** repo: `codeam-cli` (npm), the VS Code / Cursor / Win

## Non-negotiables (full detail in CLAUDE.md)

- **Atención al detalle y buen gusto:** todo lo que ve un usuario (y todo lo que genera el producto) se diseña, nunca se rellena. Reutiliza el componente que ya existe antes de crear uno "parecido", y mira el resultado en móvil y escritorio con datos reales antes de entregarlo. Sección completa en `CLAUDE.md` → "Atención al detalle y buen gusto".
- **Releases are tag-triggered:** all three clients ship under ONE version line. `git tag vX.Y.Z && git push origin vX.Y.Z` publishes npm + VS Code Marketplace + Open VSX + JetBrains. Commits to `main` run CI but do NOT release.
- **Protocol code is shared:** parsing / pricing / chunk shapes change ONLY in `packages/shared` (`@codeam/shared`); both CLI and VS Code import through it.
- **No polling for realtime:** react inside the PTY/SSE event (`OutputService.push`), don't add `setTimeout` "check again" loops. The HTTP-polling fallback in `command-relay.service.ts` is the one documented exception.
Expand Down
24 changes: 24 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,30 @@ This repo holds the **client-side pieces** of [CodeAgent Mobile](https://www.cod

The backend, mobile app, and web dashboard are maintained elsewhere and are not in scope here.

## Atención al detalle y buen gusto — no negociable (owner, 2026-11-02)

**Todo lo que ve un usuario se diseña; nunca se rellena.** Una pantalla fea, tosca o a medio
pensar es un bug aunque funcione, y lo es igual en lo que genera el producto (juegos, apps de
Remix): un resultado que no parece profesional no está terminado.

- **Reutiliza antes de construir.** Antes de crear una UI, busca el componente que ya hace ese
trabajo (buscador, tarjeta de app, sheet, lista, estados vacío/carga/error) y úsalo. Nunca una
versión casera "parecida": dos componentes que se parecen son una deuda y una incoherencia visual.
- **Míralo antes de entregarlo.** Captura en móvil y escritorio, con datos reales y casos feos:
títulos largos, dos elementos con el mismo nombre, lista vacía, cargando, error, teclado. Un test
verde no significa "se ve bien". Si no pudiste verlo, dilo; no lo des por bueno.
- **Lista mínima:** nada recortado ni solapado; cada elemento identificable (dos apps con el mismo
título se distinguen por su descripción, autor o tipo); la jerarquía tipográfica, los colores, el
radio y la curva de animación de la casa; estados de carga, vacío y error diseñados; foco y
teclado; `prefers-reduced-motion`.
- **La prisa no justifica la fealdad.** Si no hay tiempo para hacerlo bien, dilo y pregunta; no
entregues algo feo para "cerrar" la tarea.

Ejemplo real (2026-11-02): el "Enter an app you made" del reto semanal se entregó como una lista de
botones con solo el título (título del panel recortado, dos "Pesca Tranquila" idénticas, sin
contexto), cuando el producto ya tenía la búsqueda con tarjetas de app. Se rehízo reutilizando ese
componente (`SearchFrame` + `AppResultCard`, `apps/landing/src/components/remix/SearchFrame.tsx`).

## Cuestiona lo que se te pide cuando veas algo mejor

**Si el usuario propone A y ves que B es mejor, DILO antes de construir A.** No
Expand Down
Loading