appkit Ir al panel
Guía de integración

Instala sin errores — tú o tu agente de IA.

Todo lo que hace AppKit, dónde aparece cada cosa, y un prompt listo para pegar en tu asistente de código. Lo que no sepas hacer, el agente lo hace por ti.

01Prompt para tu agente de IA

Pega el texto de abajo en tu asistente de código, cambia MINHA_CHAVE_PK_LIVE por la clave de tu panel, y él hace la integración entera — instalación, pantallas vacías y conclusión de pasos — sin romper tu producto.

Claude Code Antigravity OpenAI / Codex Cursor, Copilot…
prompt-appkit.txt
Eres mi asistente de código. Integra AppKit (appkit.com.br) en mi producto web SIN romper nada. AppKit inyecta un checklist de onboarding, pantallas vacías y avisos, controlados desde un panel externo. Haz exactamente esto:

1) INSTALACIÓN
- Si el proyecto usa bundler (React/Vue/Next/Svelte/etc.): instala el paquete
  @tecaless/appkit-sdk
  y, en el punto de entrada, DESPUÉS de que el usuario haga login (cuando ya tengo su id), llama a:
  import { init } from '@tecaless/appkit-sdk'
  init({ apiKey: 'MINHA_CHAVE_PK_LIVE', userId:  })
- Si es un sitio estático / no-code: agrega ANTES de :
  
- El userId/data-user DEBE ser el identificador estable del usuario logueado. AppKit lo convierte en hash en el servidor — NUNCA envíes correo o nombre. Si no hay usuario logueado, déjalo sin userId.

2) PANTALLAS VACÍAS
Para cada pantalla que nace sin datos y donde quiero una invitación a la acción (p. ej. facturas, contactos, agenda), envuelve el estado vacío actual en UN contenedor marcado, manteniendo el contenido actual dentro como fallback:
  
...el "sin registros" actual...
Usa un nombre corto y estable por pantalla (p. ej. faturas-vazio, contatos-vazio). NO uses un selector de CSS generado por el build. Devuélveme la lista de los nombres que creaste. 3) CONCLUSIÓN DE PASOS (importante para la métrica real) Para cada paso del onboarding que representa una ACCIÓN REAL del usuario (p. ej. "emitir la primera factura"), llama en el momento EXACTO en que la acción se concreta de verdad — después de guardar en el servidor, no en el clic del botón: window.AppKit && window.AppKit.track('fatura_emitida') Usa un nombre de evento por acción, en snake_case. Devuélveme la lista de eventos que creaste. 4) NO ROMPER NADA - Carga el SDK de forma asíncrona; es fail-open (si se cae, desaparece solo y no afecta mi producto). - La clave pk_live es pública por naturaleza (puede quedar en el cliente). No expongas ninguna clave secreta. - No bloquees el renderizado esperando a AppKit. Al final, lista: (a) archivos modificados, (b) nombres de data-appkit creados, (c) nombres de eventos creados — para que yo los configure en el panel de AppKit.
Cuando el agente termine, usa los nombres de data-appkit y los nombres de evento que te devuelva para configurar las pantallas vacías y la conclusión de los pasos en el panel.

02Instalación

Dos formas. Si usas un framework, empieza por npm.

Con bundler (React, Vue, Next, Svelte…) — recomendado

terminal
npm i @tecaless/appkit-sdk
app.js — después del login
import { init, track } from '@tecaless/appkit-sdk'

init({ apiKey: 'MINHA_CHAVE_PK_LIVE', userId: usuario.id })
// cuando ocurre una acción real:
track('fatura_emitida')

No-code / sitio estático — una línea

antes de </body>
<script src="https://appkit.com.br/sdk/appkit@3.0.7.js"
        data-key="MINHA_CHAVE_PK_LIVE"
        data-user="ID_DO_USUARIO" async></script>

Tu clave pk_live_… está en el panel, en Instalación. Es pública por naturaleza (solo permite leer tu configuración y enviar eventos).

03Dónde aparece cada cosa

Las tres experiencias funcionan en cualquier página de tu producto, dentro del dominio donde lo instalaste. Lo controlas todo desde el panel, sin nuevo deploy.

tusistema.com/facturas Aviso de AppKit — arriba, empuja el contenido · Ver como Pantalla vacía (data-appkit) una invitación a la acción en lugar del "nada aquí" Primeros pasos Paso completado Siguiente paso

Checklist

Tarjeta flotante en la esquina. Aparece en cualquier página; desaparece sola cuando el usuario completa todo.

Aviso

Franja en la parte superior que empuja el contenido (no lo tapa). Puede tener enlace. La publicas y la quitas cuando quieras.

Pantalla vacía

Donde tu producto muestra "sin registros" — sin que toques el código (tu agente se encarga). Se convierte en una invitación a la acción.

04Pantallas vacías: no necesitas tocar el código

La magia de la pantalla vacía es no tener que declarar nada. Haz clic en Copiar prompt y tu agente de IA se encarga de la parte técnica: apunta a un elemento que ya existe en tu sistema (vía selector, sin tocar el HTML) o, si hace falta, agrega una marca estable — AppKit acepta las dos. Después solo editas el texto desde el panel, para siempre, sin deploy.

Si el anclaje desaparece algún día, AppKit te avisa (evento appkit_anchor_missing) y no renderiza nada — tu pantalla sigue normal.

05Cómo se completa un paso

Tres modos, elegidos por paso en el panel. Esto decide si tu embudo de activación mide acción real o solo clics.

verdad

Por evento

Tu código llama a AppKit.track('acao') en el instante de la acción real. No es falseable — es lo que sirve como métrica de tracción.

proxy

Por ruta

El usuario llega a una ruta (p. ej. /faturas/nova). Señal real, pero "llegar" no es "hacer".

prescindible

Manual

El usuario hace clic en el ítem para marcarlo. Sirve para pasos informativos ("lee esto"). Es falseable a propósito.

Para que tu analytics de tracción valga, los pasos importantes deben ser por evento. Si son manuales, mides "el usuario hizo clic en completar", no "el usuario lo hizo".

06Garantías

07Errores comunes (y cómo evitarlos)

El widget no aparece

Revisa la clave data-key y si la experiencia está publicada (no en borrador) en el panel.

La pantalla vacía no aparece

Falta el data-appkit="…" en el HTML, o el nombre en el panel no coincide con el del código.

El paso no se completa solo

Regla "por ruta" con ruta vacía, o "por evento" sin el track() en tu código en el momento correcto.

El nombre del usuario aparece

No pongas nombre/correo en el título de las experiencias ni en data-user — usa un id estable.

¿Aún con dudas? contato@appkit.com.br.