Skip to content

feat(frontend): contrato DTCG OKLCH y GUI local - #23

Merged
Alexendros merged 1 commit into
mainfrom
feat/landing-gui-tokens
Sep 24, 2026
Merged

Alexendros merged 1 commit into
mainfrom
feat/landing-gui-tokens

Conversation

@Alexendros

Copy link
Copy Markdown
Owner

Qué cambia

Contrato DTCG OKLCH v1.0 para la SPA (paleta propia de NEUBAT) y presentación de producto que no depende de Express.

  • Tokens en portal/frontend/tokens/: primitivos de color y dimensión, semánticos de color (claro/oscuro) y tipografía, alias button / card / input. El CSS generado alimenta index.css; el hex solo entra en @supports y en el gate de contraste.
  • make smoke comprueba que el CSS está al día y que texto/fondo ≥ 4.5:1 y UI/bordes ≥ 3:1 en claro y oscuro.
  • La ruta / es landing (cabecera, propuesta, características, funcionalidades, roadmap, cierre) y no llama a /api. El instalador iPXE real sigue necesitando el portal.
  • El asistente (/configurar y el formulario de /instalar) arma el JSON en el navegador y lo descarga si POST /api/install no responde. Con portal, el flujo de registro se mantiene.
  • Tema claro/oscuro y prefers-reduced-motion. GET /api/auth/me no bloquea el render y se omite en /.

Checklist

  • make lint && make test && make smoke && make validate
  • Si toca frontend: make test-frontend (vitest) y npm run build en portal/frontend
  • Docs actualizadas (ARCHITECTURE.md, tokens/CONTRACT.md, runbook de CI)
  • Sin artefactos (out/, portal/public/assets/, coverage/) ni secretos
  • CI quality / test / smoke en verde (build si aplica)
Open in Web Open in Cursor 

La landing presenta el producto sin llamar a la API. El asistente arma
el JSON de instalación en el navegador y lo descarga si el portal no
responde. make smoke comprueba el contraste 4.5:1 y 3:1.

Co-authored-by: Alexendros · Alejandro Domingo Agustí <operaciones@alexendros.dev>
@coderabbitai

coderabbitai Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 23b56e40-b509-4c3a-93bb-3aadfa5891c9

📥 Commits

Reviewing files that changed from the base of the PR and between c51750c and 6a32ea3.

⛔ Files ignored due to path filters (2)
  • portal/frontend/tokens/generated/fallback-hex.json is excluded by !**/generated/**
  • portal/frontend/tokens/generated/variables.css is excluded by !**/generated/**
📒 Files selected for processing (29)
  • .github/workflows/ci.yml
  • ARCHITECTURE.md
  • Makefile
  • docs/guides/desarrollo.md
  • docs/runbooks/ci.md
  • portal/frontend/index.html
  • portal/frontend/package.json
  • portal/frontend/scripts/build-tokens.mjs
  • portal/frontend/scripts/check-contrast.mjs
  • portal/frontend/scripts/token-lib.mjs
  • portal/frontend/src/App.tsx
  • portal/frontend/src/components/Brand.tsx
  • portal/frontend/src/components/Layout.tsx
  • portal/frontend/src/index.css
  • portal/frontend/src/lib/auth.tsx
  • portal/frontend/src/lib/install-config.test.ts
  • portal/frontend/src/lib/install-config.ts
  • portal/frontend/src/pages/ConfigurePage.test.tsx
  • portal/frontend/src/pages/ConfigurePage.tsx
  • portal/frontend/src/pages/HomePage.test.tsx
  • portal/frontend/src/pages/HomePage.tsx
  • portal/frontend/src/pages/LandingPage.test.tsx
  • portal/frontend/src/pages/LandingPage.tsx
  • portal/frontend/tokens/CONTRACT.md
  • portal/frontend/tokens/component.alias.tokens.json
  • portal/frontend/tokens/primitive.color.tokens.json
  • portal/frontend/tokens/primitive.dimension.tokens.json
  • portal/frontend/tokens/semantic.color.tokens.json
  • portal/frontend/tokens/semantic.typography.tokens.json
 _____________________________________________
< Because, no one wants to be a human linter. >
 ---------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Alexendros
Alexendros marked this pull request as ready for review September 24, 2026 18:18
@cursor

cursor Bot commented Sep 24, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_98ba331f-a5f5-44f6-a336-f85e0f7d92bb)

@Alexendros
Alexendros merged commit 1855398 into main Sep 24, 2026
6 of 7 checks passed
@Alexendros
Alexendros deleted the feat/landing-gui-tokens branch September 24, 2026 18:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants