Bygga
Type the product name from the box. Bygga shows every assembly step in 3D, with the parts, screws and tools for each one, and reads it out loud.
Anotá los puntos del truco desde el celular, sin descargar nada: partidas a 15 o a 30, malas y buenas, con fósforos como en papel. Gratis.
Translation pending
LifestyleJavaScript · CSSGitHub @lauticonteOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗
Truqito (truco.contelautaro.com.ar) es un anotador de Truco Argentino online y gratis: los puntos se dibujan con fósforos, como en el anotador de papel. Está pensado para el celular, sin descargar nada ni registrarse.
localStorage) aunque se cierre el navegador.client:tras-dibujo (src/directivas/).src/stores/partida.js.src/styles/Icons.css); fuentes en woff2 servidas desde el sitio.api/ (ads.txt, 404 real y envío de sugerencias). GA4 con web vitals reales de cada visita (src/reportWebVitals.js) y Vercel Analytics.anotador-truco/
├── api/ # Vercel Functions: ads.txt, 404 real, sugerencias a Telegram
├── public/ # Archivos tal cual: imágenes, fuentes, robots, sitemap, llms.txt, 404.html
├── src/
│ ├── pages/ # Una página por URL
│ │ ├── index.astro # Anotador (tablero renderizado en 0-0)
│ │ ├── guia-truco.astro # Guía: las tres pestañas en el HTML
│ │ ├── resultado/[ganador].astro # /resultado/nosotros y /resultado/ellos
│ │ └── resultado.astro # Cualquier otro /resultado/:winner
│ ├── layouts/Base.astro # <head> común (meta, GA4, CMP de InMobi), header y footer
│ ├── components/ # Islas de React (Board, Counter, Menu, ResultPage, VAR…) y Footer.astro
│ ├── directivas/ # client:tras-dibujo: hidratar después del primer dibujo
│ ├── stores/partida.js # Estado compartido entre islas
│ ├── data/ # Metadatos de las páginas y contenido de la guía
│ ├── scripts/ # JS sin React (pestañas de la guía)
│ └── styles/ # Hojas de estilo por componente
├── scripts/ # Contrato SEO, comparación entre deploys y PageSpeed
├── tests/
│ ├── unit/ # Vitest + Testing Library
│ └── contrato/ # Contrato SEO sobre el build (node:test)
├── astro.config.mjs
└── vercel.json # Rewrites, headers (noindex en /resultado/*) y cache
El estado actual, los pendientes, cómo medir y las lecciones aprendidas están en docs/HANDOFF.md. Las herramientas de medición están en scripts/medicion/.
package-lock.json)npm install # dependencias
npm run dev # servidor de desarrollo en http://localhost:4321
npm run build # build de producción en dist/
npm run preview # sirve dist/ localmente
Las funciones de
api/y las reglas devercel.json(rewrites y headers) solo corren en Vercel. Para probarlas, usar el deploy de preview de la rama.
npm test # unitarios: lógica de juego, store, islas, VAR, nombres
npm run build && npm run test:contrato # contrato SEO del build contra producción
tests/contrato/): title, description, canonical, Open Graph, Twitter, JSON-LD y texto de cada página tienen que ser iguales a los capturados de producción (tests/contrato/esperado.json). También controla el presupuesto de JavaScript de la home.node scripts/comparar-urls.mjs https://truco.contelautaro.com.ar https://<preview>.vercel.app
node scripts/capturar-contrato.mjs.PSI_KEY=... node scripts/psi.mjs <url>. La clave está en Bitwarden; nunca en archivos.master es producción.vercel.json fija framework: astro y outputDirectory: dist.comparar-urls sin diferencias inesperadas contra producción.El proyecto sigue Semantic Versioning. El historial completo está en CHANGELOG.md y, para los usuarios, en Novedades dentro de la app (src/components/Changelog.jsx).
Lautaro Conte