# Inicio rápido de AfterPack: ofusca un build en minutos

Elige tu framework, instala una dependencia de desarrollo, compila y abre el Protection Map.

Source: https://www.afterpack.dev/es/docs/quickstart

**Empieza con un agente** (Pégalo en Claude Code, Codex, Cursor o Copilot):

```text
Add AfterPack to this project: read https://www.afterpack.dev/llms.txt, follow the quickstart for my framework, then run a production build and show me the Protection Map.
```

## Elige tu framework

*(interactive framework picker — pick a framework below or see the web page)*

## Qué hace un build por defecto

- **El [preset](https://www.afterpack.dev/es/docs/config#preset) `light`**: [complejidad](https://www.afterpack.dev/es/docs/config#complexity) 5. Los literales de cadena se [codifican](https://www.afterpack.dev/es/docs/config#strings-encode), los identificadores se renombran y la sintaxis se reescribe, sin añadir capas estructurales. Sube el preset cuando un proyecto necesite más, con un [coste de carga](https://www.afterpack.dev/es/docs/presets#load-cost) medido; consulta [Presets](https://www.afterpack.dev/es/docs/presets).
- **Una [semilla](https://www.afterpack.dev/es/docs/config#seed) aleatoria nueva en cada build**, de modo que dos builds del mismo código fuente salen estructuralmente distintos. [Compila una vez y promociona los mismos bytes](https://www.afterpack.dev/es/docs/builds); fija `seed: "git"` solo cuando necesites una salida reproducible.
- **Los builds de desarrollo no se tocan.** El plugin actúa solo sobre el build de [producción](https://www.afterpack.dev/es/docs/config#build-mode).
- **Falla de forma segura (fail closed).** Un archivo que el motor no puede ofuscar hace fallar el build e indica de qué archivo se trata. Consulta [Códigos de salida](https://www.afterpack.dev/es/docs/diagnostics#exit-codes).

Para mantener el plugin instalado pero omitir el motor en una ejecución, pon [`build.autorun`](https://www.afterpack.dev/es/docs/config#build-autorun) en `false`.

## Comprueba el resultado

El [Protection Map](https://www.afterpack.dev/es/docs/protection-map) es tu código fuente original, coloreado según cuánta transformación recibió cada token. Se escribe en `.afterpack/protectionMap.html` cuando el bundler emitió un source map, fuera de CI; cada guía de framework muestra cómo activarlo. El informe contiene todo tu código fuente. Nunca lo subas al repositorio ni lo sirvas. `.afterpack/` lleva su propio `.gitignore`, así que git lo ignora.

*(live Protection Map demo embed — see https://www.afterpack.dev/protection-map-demo)*

Abre el [informe de demostración](https://www.afterpack.dev/protection-map-demo) para ver uno antes de tu primer build.

## Protege más un código concreto

La ofuscación global cubre todo el bundle. Para llevar una región más lejos, o para dejarla sin tocar, márcala con una [directiva](https://www.afterpack.dev/es/docs/directives):

```ts
/* @afterpack preset=hard */
function checkLicense(token: string) {
  return verify(token);
}
/* @afterpack end */

const apiKey = /* @afterpack preset=extreme */ "YOUR_SECRET";
```

Las directivas tienen efecto en los builds [Pro](https://www.afterpack.dev/es/docs/tiers); [Directivas](https://www.afterpack.dev/es/docs/directives) es la referencia de la gramática y de cada clave que se puede establecer.

## Siguiente

- [Cómo funciona AfterPack](https://www.afterpack.dev/es/docs/concepts): qué puede y qué no puede recuperar un atacante.
- [Configuración](https://www.afterpack.dev/es/docs/config): cada opción y dónde establecerla.
- [Buenas prácticas](https://www.afterpack.dev/es/docs/best-practices): qué marcar, qué dejar sin tocar y la CI.
