cotizador-helgen/GUIA.md
Efrain (Helgen) bbb34768b4 Respaldo inicial del Cotizador Helgen (19/10/2026)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:14:08 -06:00

123 lines
5.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Guía: poner en marcha el Cotizador Helgen con Claude Code
Tiempo estimado: 45–60 min la primera vez.
## Cómo funciona (en una línea)
Formulario web → Apps Script asigna folio `HLG-2026-0001` → recalcula subtotal/IVA/total → genera PDF → lo guarda en Drive → registra la fila en una hoja de Google.
```
[Navegador del equipo] ──► [Apps Script: Code.gs] ──► Google Sheets (registro, catálogo, config)
└──────────────► Google Drive /Cotizaciones Helgen (PDF)/2026/
```
---
## Paso 1 · Instalar herramientas (una sola vez, en tu Mac)
Abre **Terminal** y ejecuta:
```bash
# Node.js (si no lo tienes): descárgalo de https://nodejs.org (versión LTS)
node -v
# Claude Code
npm install -g @anthropic-ai/claude-code
# clasp: la herramienta oficial de Google para subir código a Apps Script
npm install -g @google/clasp
```
Activa la API de Apps Script en tu cuenta: entra a https://script.google.com/home/usersettings y enciende **"Google Apps Script API"**.
## Paso 2 · Crear la carpeta del proyecto
1. Descarga los archivos de esta carpeta (`Code.gs`, `Index.html`, `appsscript.json`, `CLAUDE.md`) a una carpeta, por ejemplo `~/Helgen/cotizador-helgen`.
2. En Terminal:
```bash
cd ~/Helgen/cotizador-helgen
clasp login # se abre el navegador: entra con tu cuenta @helgen.tech
clasp create --type standalone --title "Cotizador Helgen"
```
> `clasp create` puede sobrescribir `appsscript.json`. Si pasa, vuelve a copiar el que te di.
## Paso 3 · Abrir Claude Code y subir el código
```bash
claude
```
Claude Code lee `CLAUDE.md` automáticamente, así ya entiende el proyecto. Escríbele:
> Sube el proyecto con clasp push y ábreme el editor.
## Paso 4 · Instalación inicial (en el editor de Apps Script)
1. En el editor, elige la función **`setup`** y pulsa **Ejecutar**.
2. Acepta los permisos (Drive y Sheets).
3. En **Registro de ejecución** verás dos links: la **hoja de base de datos** y la **carpeta de PDF**.
## Paso 5 · Configurar tus datos
Abre la hoja de base de datos:
- **Config** → llena nombre, RFC, dirección, teléfono, correo, prefijo del folio y términos.
- **Logo** → sube tu logo (PNG con fondo transparente, ~600 px de ancho) a Drive. Copia su ID (la parte larga del link entre `/d/` y `/view`) y pégalo en `LOGO_FILE_ID`.
- **Catalogo** → captura tus productos/servicios frecuentes con su precio. Aparecerán como autocompletado.
## Paso 6 · Publicar para el equipo
Pídele a Claude Code:
> Publica la app web con clasp deploy y dame la URL.
O manualmente en el editor: **Implementar → Nueva implementación → App web**
- Ejecutar como: **Yo** (así todos los PDF quedan en una sola carpeta)
- Quién tiene acceso: **Cualquier usuario de helgen.tech**
Comparte la URL con el equipo y agrégala a favoritos.
## Paso 7 · Prueba de aceptación
- [ ] Crear una cotización de prueba → aparece el folio `HLG-2026-0001`.
- [ ] El PDF se abre, muestra el logo y los totales coinciden con la calculadora.
- [ ] Aparece la fila en la hoja **Cotizaciones** y el PDF en Drive/2026.
- [ ] Dos personas guardan casi al mismo tiempo → folios distintos.
- [ ] Borrar la fila de prueba (el contador NO retrocede; es intencional para no repetir folios).
- [ ] Doble clic rápido en "Guardar" → se crea un solo folio y un solo PDF.
> Protección de folios: el folio sale del mayor entre el contador (`CONSECUTIVO_AAAA`) y el último folio en la hoja **Cotizaciones**, dentro de un candado (`LockService`). Aunque alguien borre el contador, no se repite.
---
## Cómo pedirle cambios a Claude Code (ejemplos de prompts)
Usa frases concretas; Claude Code edita, prueba y sube por ti.
| Quiero… | Prompt |
|---|---|
| Ajustar el diseño al PDF de referencia | "Adjunto `referencia.pdf`. Ajusta `construirHtmlPdf` para que se parezca: mismo orden de secciones y tipografía. Genera un PDF de prueba local con Playwright antes de subir." |
| Descuento por renglón | "Agrega una columna de descuento % por concepto, en el formulario y en el PDF. El cálculo debe hacerse en el servidor." |
| Enviar por correo | "Agrega un botón 'Enviar al cliente' que mande el PDF por Gmail al correo del cliente con copia a mí." |
| Duplicar una cotización | "En el historial agrega un botón 'Duplicar' que cargue los datos en el formulario con un folio nuevo." |
| Estatus | "Agrega una columna Estatus (Enviada, Aceptada, Rechazada) editable desde el historial." |
| Corregir un error | "Al guardar sale este error: [pega el mensaje]. Revisa `clasp logs` y corrígelo." |
**Flujo de cada cambio:** pides → Claude Code edita → prueba local → `clasp push` → `clasp deploy --deploymentId <ID>` (misma URL para el equipo).
**Recomendación:** inicializa git en la carpeta (`git init`, o pídeselo a Claude Code) para poder deshacer cualquier cambio.
---
## Por qué esta arquitectura
| Criterio | Resultado |
|---|---|
| Costo | $0 — usa Google Workspace que ya pagan |
| Servidores | Ninguno que mantener |
| Acceso | Solo cuentas @helgen.tech |
| Respaldo | Drive + historial de versiones de Sheets |
| Folios | Consecutivos y sin duplicados aunque varios usuarios guarden a la vez |
| Límite | ~cientos de cotizaciones/día sin problema. Si algún día necesitan CRM, facturación o app móvil, se migra a Next.js + base de datos y se importa el historial desde la hoja. |