@ingcrea/aumic-tailwind-killer 4.1.3 → 4.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.es.md ADDED
@@ -0,0 +1,38 @@
1
+ > 🌐 **Navegación:** 🇺🇸 [Read Official Text in English](./LICENSE)  |  🇲🇽 [Leer Resumen en Español](./LICENSE.es.md)
2
+
3
+ # 📜 Licencia GNU AGPL v3 (Resumen en Español)
4
+
5
+ > **⚠️ AVISO LEGAL IMPORTANTE:**
6
+ > La Free Software Foundation establece que la única versión legalmente vinculante de esta licencia es el **texto original en inglés**. Este documento es un resumen informativo (Human-Readable) para ayudar a la comunidad hispanohablante a entender sus derechos y obligaciones. Para cualquier disputa o validación legal, refiérase exclusivamente al archivo [LICENSE](./LICENSE).
7
+
8
+ ---
9
+
10
+ El código fuente de este proyecto se distribuye bajo la **GNU Affero General Public License v3 (AGPL v3)**.
11
+
12
+ Esta es una licencia *Copyleft Fuerte* diseñada específicamente para cerrar el vacío legal del software como servicio (SaaS).
13
+
14
+ ## ✅ Lo que SÍ puedes hacer (Permisos)
15
+ - **Uso Comercial:** Puedes usar este software para propósitos comerciales.
16
+ - **Modificación:** Puedes modificar el código fuente como desees.
17
+ - **Distribución:** Puedes distribuir copias del software original o modificado.
18
+ - **Uso Privado:** Puedes usarlo y modificarlo de forma privada sin tener que publicar tu código, **siempre y cuando no permitas que usuarios externos interactúen con él a través de una red.**
19
+
20
+ ## 🛑 Lo que DEBES hacer (Condiciones)
21
+ Si distribuyes este software, o si permitas que otros interactúen con él a través de una red (SaaS), debes cumplir con lo siguiente:
22
+
23
+ 1. **Apertura del Código (Copyleft):** Debes hacer que el código fuente completo (incluyendo tus modificaciones y el software propietario que interactúe íntimamente con él) esté disponible públicamente bajo esta misma licencia (AGPL v3).
24
+ 2. **Aviso de Licencia y Copyright:** Debes incluir una copia de esta licencia y los avisos de copyright originales en tu distribución.
25
+ 3. **Declarar Cambios:** Debes indicar claramente si has modificado los archivos originales.
26
+ 4. **La Cláusula SaaS (Interacción por Red):** Si los usuarios interactúan con una versión modificada de este software a través de una red (por ejemplo, mediante una API, un bot, o una plataforma web), **tienes la obligación de ofrecerles el código fuente completo de esa versión modificada.**
27
+
28
+ ## ❌ Lo que NO puedes hacer (Limitaciones)
29
+ - No puedes otorgar este software bajo una licencia más restrictiva o de código cerrado si lo distribuyes o lo ofreces como servicio.
30
+ - No puedes usar el nombre de IngCrea, Ingeniería Creativa, ni AUM-IC para promocionar productos derivados sin permiso explícito por escrito.
31
+ - El software se entrega "tal cual" (AS IS), sin garantías de ningún tipo y sin responsabilidad por daños.
32
+
33
+ ---
34
+
35
+ ### 💼 ¿Necesitas mantener tu código cerrado?
36
+ Si deseas embeber, modificar u ofrecer AUM-IC Tailwind Killer como parte de un producto propietario (SaaS, herramienta interna distribuida, Web Builder) sin estar obligado a publicar tu código fuente bajo AGPL v3, ofrecemos una **Licencia Comercial**.
37
+
38
+ 👉 **[Ver Detalles de la Licencia Comercial (LICENSE-COMMERCIAL.es.md)](./LICENSE-COMMERCIAL.es.md)**
package/README.es.md ADDED
@@ -0,0 +1,382 @@
1
+ # ⚔️ AUM-IC Tailwind Killer
2
+
3
+ > 🌐 **Navegación:** 🇺🇸 [Read in English](./README.md)  |  📜 [Manifiesto (ES)](./MANIFEST.es.md)  |  📜 [Manifesto (EN)](./MANIFEST.md)
4
+
5
+ [![version](https://img.shields.io/badge/version-4.1.3-crimson?style=flat-square)](https://www.npmjs.com/package/@ingcrea/aumic-tailwind-killer)
6
+ [![Stars](https://img.shields.io/github/stars/ingcrea/aumic-tailwind-killer?style=flat-square&color=gold)](https://github.com/ingcrea/aumic-tailwind-killer/stargazers)
7
+ [![Forks](https://img.shields.io/github/forks/ingcrea/aumic-tailwind-killer?style=flat-square&color=silver)](https://github.com/ingcrea/aumic-tailwind-killer/network/members)
8
+ [![DuckDB Powered](https://img.shields.io/badge/powered%20by-DuckDB-yellow?style=flat-square)](https://duckdb.org)
9
+ [![Tailwind v1-v4](https://img.shields.io/badge/Tailwind-v1%20%7C%20v2%20%7C%20v3%20%7C%20v4%20Oxide-38bdf8?style=flat-square)](https://tailwindcss.com)
10
+ [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D18.0-339933?style=flat-square)](https://nodejs.org)
11
+ [![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg?style=flat-square)](https://www.gnu.org/licenses/agpl-3.0)
12
+
13
+ **AUM-IC Tailwind Killer** no es solo un orquestador CLI; es la manifestación técnica de una estándar de diseño. Se llama así porque está fundamentado estrictamente en el estándar **Arquitectura de Universos Multidimensionales de Ingeniería Creativa (AUM-IC)**: una filosofía nacida para devolverle la cordura, el control absoluto y la escalabilidad infinita a los ingenieros de software.
14
+
15
+ Diseñado bajo el rigor arquitectónico de **INGENIERÍA CREATIVA Y DESARROLLOS TECNOLÓGICOS S.A.S. (IngCrea)**, este "Tailwind Killer" de alto rendimiento audita, extrae, compila (vía JIT) y purga tu código fuente en segundos — transmutando el caos de las clases utilitarias en un ecosistema ofuscado, estandarizado y libre de dependencias (Zero-Bloat) impulsado por una arquitectura implacable de *Multi-Level JIT Cache (DuckDB + Node.js)* e interceptores AST universales.
16
+
17
+ ---
18
+
19
+ ## ⚡ Quick Start (60 segundos)
20
+
21
+ > **Prerequisitos:** Node.js >= 18.0 · No se requieren instalaciones extra del sistema. DuckDB viene incluido.
22
+
23
+ ```bash
24
+ # 1. Audita tu proyecto sin tocar ningún archivo (primer paso recomendado)
25
+ npx @ingcrea/aumic-tailwind-killer -m simulate -t ./mi-proyecto
26
+
27
+ # 2. Cuando estés listo: transmutación completa a CSS Zero-Bloat
28
+ npx @ingcrea/aumic-tailwind-killer -m local -t ./mi-proyecto
29
+
30
+ # 3. ¿Algo salió mal? Rollback completo en un solo comando
31
+ npx @ingcrea/aumic-tailwind-killer -m restore -t ./mi-proyecto
32
+ ```
33
+
34
+ > **Antes de ejecutar `-m local`:** Asegúrate de que tu rama de Git esté limpia (`git status`). AUM-IC lo valida automáticamente y aborta si detecta cambios sin commitear.
35
+
36
+ ---
37
+
38
+ ## ⚡ ¿Por qué AUM-IC Tailwind Killer? (La Cura al Dolor)
39
+
40
+ Los debates globales de arquitectura de software exponen quejas universales sobre Tailwind CSS a gran escala. AUM-IC Tailwind Killer fue forjado para aniquilar exactamente esos dolores:
41
+
42
+ 1. **La Cura para la "Sopa de HTML" (Write Once, Read Never):**
43
+ El dolor número uno de los desarrolladores. Componentes inundados con cadenas kilométricas (`class="flex items-center justify-between p-4 bg-white shadow-md..."`) que destruyen la legibilidad. AUM-IC transmuta esa cadena tóxica en un hash elegante, limpio y ofuscado (`class="aumic-rs-1b3a"`). Le devolvemos la pureza visual a tu DOM.
44
+
45
+ 2. **Liberación del Vendor Lock-In (El Escape Hatch):**
46
+ El terror de los CTOs es atar un proyecto gigante a la sintaxis de un framework de terceros que podría cambiar o volverse obsoleto. Con AUM-IC Tailwind Killer, **no eres esclavo de Tailwind**. Construye rápido usando utilidades — cuando pases a producción, nuestro motor lo purga físicamente de tu `package.json` extrayendo un archivo `.css` estándar y agnóstico. Recuperas la soberanía de tu código.
47
+
48
+ 3. **Restauración Arquitectónica (Separation of Concerns):**
49
+ Los puristas odian mezclar estructura y diseño en la misma línea. AUM-IC te permite disfrutar la velocidad de Tailwind en desarrollo, pero en producción nuestro orquestador extrae el diseño a un ecosistema CSS determinista, restaurando la frontera sagrada entre tu lógica y tus estilos.
50
+
51
+ 4. **Ofuscación, Prevención de Colisiones y Nombrado Semántico por IA:**
52
+ No ofuscamos solo por seguridad anti-scraping. Al generar hashes matemáticos (`aumic-rs-[hash]`), unificamos etiquetas y **garantizamos cero colisiones de estilos** al terminar la migración masiva. Además, la integración opcional de **IA para Nombrado Semántico** (*Ollama, Claude, Gemini, DeepSeek, Codex*) solo procesa **combinaciones ÚNICAS** — jamás tu código fuente completo. Ahorra millones de tokens y blinda tu privacidad.
53
+
54
+ 5. **Rendimiento Extremo (Zero-Bloat Build Time):**
55
+ Al erradicar el motor de Tailwind de tus procesos de CI/CD, los tiempos de compilación de Next.js, Astro y Vite se aceleran drásticamente, ahorrando recursos reales de servidor.
56
+
57
+ ---
58
+
59
+ ## 🆚 ¿Cómo se Compara con las Alternativas?
60
+
61
+ | Característica | AUM-IC Tailwind Killer | PurgeCSS | UnoCSS | vanilla-extract | Migración Manual |
62
+ | :--- | :---: | :---: | :---: | :---: | :---: |
63
+ | **Elimina CSS sin uso** | ✅ | ✅ | ✅ | ✅ | ✅ |
64
+ | **Ofusca los nombres de clases** | ✅ | ❌ | ❌ | Parcial | ❌ |
65
+ | **Zero-Bloat (elimina dependencia Tailwind)** | ✅ | ❌ | ❌ | ✅ | ✅ |
66
+ | **Migración 100% automatizada** | ✅ | ❌ | ❌ | ❌ | ❌ |
67
+ | **Rollback / Deshacer** | ✅ | ❌ | ❌ | ❌ | ❌ |
68
+ | **AST (sin hacks de regex)** | ✅ | ❌ | N/A | N/A | N/A |
69
+ | **Soporta v1 / v2 / v3 / v4 Oxide** | ✅ | Parcial | ✅ | N/A | Manual |
70
+ | **Nombrado semántico por IA** | ✅ | ❌ | ❌ | ❌ | ❌ |
71
+ | **Offline / Air-Gapped** | ✅ | ✅ | ✅ | ✅ | ✅ |
72
+ | **Previene colisiones CSS post-migración** | ✅ | ❌ | ❌ | ✅ | Manual |
73
+
74
+ > **Resumen:** PurgeCSS solo elimina código muerto. UnoCSS es un framework, no un migrador. vanilla-extract requiere reescribir estilos manualmente. AUM-IC Tailwind Killer es la única herramienta que **automatiza el escape completo** de Tailwind con seguridad, reversibilidad y cero dependencias externas.
75
+
76
+ ---
77
+
78
+ ## 🦖 Arquitectura v4.1.3: Multi-Level JIT Cache
79
+
80
+ 1. **L1 Cache (DuckDB - El Oráculo Estático):**
81
+ Mediante ingeniería inversa, pre-compilamos y extrajimos las equivalencias exactas en CSS puro de más de 26,000 clases nativas. Toda esta data reside en una base de datos binaria súper comprimida (`aumic-lexicon.duckdb`) que inyecta valores CSS instantáneamente en tiempo O(1), completamente offline y sin invocar compiladores (Zero-Execution). **Soporte total para las 4 generaciones: Tailwind v1, v2, v3 y v4 Oxide.**
82
+ 2. **L2 Cache (Dynamic JIT - El Secuestrador):**
83
+ Para clases dinámicas complejas no presentes en L1, el motor secuestra dinámicamente el compilador `tailwindcss` instalado en los `node_modules` de tu proyecto. Esto garantiza que la compilación respete tu versión exacta (v2, v3 o v4 Oxide).
84
+ 3. **Preflight Theme Extractor:**
85
+ Absorbe dinámicamente tu `tailwind.config.*`, preservando tipografías nativas (ej. `Inter`) y variables de color personalizadas con fidelidad visual del 100%.
86
+
87
+ ---
88
+
89
+ ## 🧠 Pipeline de 5 Fases (El Motor de Transmutación)
90
+
91
+ ```
92
+ Tu Proyecto (código fuente)
93
+ │
94
+ ▼
95
+ ┌───────────────────────────────────────────────────────────┐
96
+ │ FASE 1 ─ Reconocimiento & Pre-Flight │
97
+ │ Valida Git, permisos y excluye node_modules/.git/dist │
98
+ └───────────────────────┬───────────────────────────────────┘
99
+ │
100
+ ▼
101
+ ┌───────────────────────────────────────────────────────────┐
102
+ │ FASE 2 ─ Extracción Paralela (AST + Piscina Threads) │
103
+ │ Babel/Cheerio parsean JSX/Astro/Vue/HTML quirúrgicamente │
104
+ │ Extrae clases → Deduplica → Combinaciones únicas │
105
+ └───────────────────────┬───────────────────────────────────┘
106
+ │
107
+ ▼
108
+ ┌───────────────────────────────────────────────────────────┐
109
+ │ FASE 3 ─ Criptografía de Nomenclatura │
110
+ │ Hashes deterministas aumic-rs-[hash] por combinación │
111
+ │ 5,000 repeticiones de una clase = 1 solo hash en RAM │
112
+ └──────────┬────────────────────────────┬───────────────────┘
113
+ │ │
114
+ ▼ ▼
115
+ ┌──────────────────────┐ ┌────────────────────────────────┐
116
+ │ L1 Cache (DuckDB) │ │ L2 Cache (Dynamic JIT) │
117
+ │ 26,000+ clases │ │ Compilador tailwindcss local │
118
+ │ O(1) · Offline │ │ Para clases dinámicas w-[Xpx] │
119
+ │ Hit Rate: 99.2% │ │ Respeta tu versión instalada │
120
+ └──────────┬───────────┘ └────────────────┬───────────────┘
121
+ └────────────────────────────────┘
122
+ │
123
+ ▼
124
+ ┌───────────────────────────────────────────────────────────┐
125
+ │ FASE 4 ─ Síntesis y Output │
126
+ │ CSS puro unificado · aumic-lock.json (mapa de rollback) │
127
+ └───────────────────────┬───────────────────────────────────┘
128
+ │
129
+ ▼
130
+ ┌───────────────────────────────────────────────────────────┐
131
+ │ FASE 5 ─ Erradicación Total │
132
+ │ Purga Tailwind de package.json · Reescribe componentes │
133
+ │ Tu código queda libre, limpio y soberano. │
134
+ └───────────────────────────────────────────────────────────┘
135
+ ```
136
+
137
+ ---
138
+
139
+ ## 🔄 Antes y Después: Así Queda Tu Código
140
+
141
+ ### HTML / JSX — Antes
142
+ ```html
143
+ <div class="flex items-center justify-between p-4 bg-white shadow-md rounded-xl border border-gray-200">
144
+ <span class="text-sm font-semibold text-gray-800">Dashboard</span>
145
+ </div>
146
+ ```
147
+
148
+ ### HTML / JSX — Después
149
+ ```html
150
+ <div class="aumic-rs-1b3a">
151
+ <span class="aumic-rs-2c4f">Dashboard</span>
152
+ </div>
153
+ ```
154
+
155
+ ### CSS Generado — Después
156
+ ```css
157
+ /* aumic-output.css — CSS puro. Sin framework. Sin runtime. Sin dependencias. */
158
+ .aumic-rs-1b3a {
159
+ display: flex;
160
+ align-items: center;
161
+ justify-content: space-between;
162
+ padding: 1rem;
163
+ background-color: #ffffff;
164
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
165
+ border-radius: 0.75rem;
166
+ border: 1px solid #e5e7eb;
167
+ }
168
+ .aumic-rs-2c4f {
169
+ font-size: 0.875rem;
170
+ font-weight: 600;
171
+ color: #1f2937;
172
+ }
173
+ ```
174
+
175
+ **Resultado:** Tu HTML es limpio. Tu CSS es estándar puro. Tailwind desapareció. Cero runtime. Cero build step. Para siempre.
176
+
177
+ ---
178
+
179
+ ## 🔒 El Mapa `aumic-lock.json` (Rollback y Schema de IA)
180
+
181
+ Cada transmutación genera un `aumic-lock.json` en la raíz de tu proyecto. Este archivo es tu **red de seguridad y el puente para el nombrado semántico por IA**. Su estructura:
182
+
183
+ ```json
184
+ {
185
+ "version": "4.1.3",
186
+ "createdAt": "2025-09-28T09:00:00Z",
187
+ "stats": {
188
+ "filesProcessed": 1247,
189
+ "classesFound": 48312,
190
+ "uniqueCombinations": 5840,
191
+ "hitRateL1": 0.992,
192
+ "hitRateL2": 0.008
193
+ },
194
+ "map": {
195
+ "aumic-rs-1b3a": {
196
+ "original": "flex items-center justify-between p-4 bg-white shadow-md rounded-xl border border-gray-200",
197
+ "css": ".aumic-rs-1b3a { display: flex; align-items: center; ... }",
198
+ "occurrences": 143,
199
+ "files": ["src/components/Card.tsx", "src/layouts/Dashboard.astro"]
200
+ },
201
+ "aumic-rs-2c4f": {
202
+ "original": "text-sm font-semibold text-gray-800",
203
+ "css": ".aumic-rs-2c4f { font-size: 0.875rem; font-weight: 600; color: #1f2937; }",
204
+ "occurrences": 89,
205
+ "files": ["src/components/Card.tsx"]
206
+ }
207
+ }
208
+ }
209
+ ```
210
+
211
+ Este mapa es lo que impulsa el rollback con `-m restore` — y lo que lee el motor de IA para producir nombres legibles **sin ver jamás tu código fuente**.
212
+
213
+ ---
214
+
215
+ ## 🚀 Instalación
216
+
217
+ > **No se requieren dependencias adicionales del sistema.** DuckDB viene empaquetado dentro del módulo npm. Funciona en macOS, Linux y Windows (Node.js >= 18.0).
218
+
219
+ ```bash
220
+ # Uso al vuelo mediante NPX (recomendado)
221
+ npx @ingcrea/aumic-tailwind-killer -m local -t ./mi-proyecto
222
+
223
+ # Instalación global
224
+ npm install -g @ingcrea/aumic-tailwind-killer
225
+ aumic-tailwind-killer -m local -t ./mi-proyecto
226
+ ```
227
+
228
+ ---
229
+
230
+ ## 🛠 Modos de Uso
231
+
232
+ ### 1. Modo Simulación (Dry-Run)
233
+ ```bash
234
+ npx @ingcrea/aumic-tailwind-killer -m simulate -t ./
235
+ ```
236
+
237
+ ### 2. Modo Local (Transmutación Destructiva)
238
+ ```bash
239
+ npx @ingcrea/aumic-tailwind-killer -m local -t ./
240
+ ```
241
+
242
+ ### 3. Modo Quirúrgico (Scope)
243
+ ```bash
244
+ npx @ingcrea/aumic-tailwind-killer -m local -t ./ -s "src/frontend/**/*.{tsx,astro}"
245
+ ```
246
+
247
+ ### 4. Modo Restauración (Rollback)
248
+ ```bash
249
+ npx @ingcrea/aumic-tailwind-killer -m restore -t ./
250
+ ```
251
+
252
+ ### 5. Nombrado Semántico por IA (Opcional)
253
+ ```bash
254
+ npx @ingcrea/aumic-tailwind-killer -m local -t ./ --ai ollama --ai-model llama3
255
+ npx @ingcrea/aumic-tailwind-killer -m local -t ./ --ai claude --ai-key sk-ant-...
256
+ npx @ingcrea/aumic-tailwind-killer -m local -t ./ --ai gemini --ai-key AIza...
257
+ ```
258
+
259
+ ---
260
+
261
+ ## ⚙️ Opciones CLI
262
+
263
+ | Corta | Larga | Descripción | Obligatorio |
264
+ | :--- | :--- | :--- | :--- |
265
+ | `-m` | `--mode` | Modo: `simulate`, `local`, `restore`. | **Sí** |
266
+ | `-t` | `--target` | Ruta al directorio del proyecto. | **Sí** |
267
+ | `-s` | `--scope` | Patrón Glob para restringir la mutación. | No |
268
+ | — | `--ai` | Proveedor IA: `ollama`, `claude`, `gemini`, `deepseek`, `codex`. | No |
269
+ | — | `--ai-model` | Modelo específico (ej. `llama3`, `claude-3-5-sonnet`). | No |
270
+ | — | `--ai-key` | API Key del proveedor remoto. | No |
271
+ | — | `--ai-base-url` | URL base de Ollama (default: `http://localhost:11434`). | No |
272
+
273
+ ---
274
+
275
+ ## 📊 Benchmarks
276
+
277
+ | Métrica | Tailwind Nativo | AUM-IC L1 (DuckDB) | AUM-IC L2 (JIT) |
278
+ | :--- | :---: | :---: | :---: |
279
+ | **Tiempo de resolución** | `1,340ms` | `~80ms` | `~220ms` |
280
+ | **RAM consumida** | `~210MB` | `~48MB` | `~85MB` |
281
+ | **Reducción CSS final** | Base | **~38% menor** | **~38% menor** |
282
+ | **Hit Rate offline** | N/A | **99.2%** | 0.8% restante |
283
+ | **Compatibilidad** | Solo la instalada | **v1, v2, v3, v4 Oxide** | v2, v3, v4 Oxide |
284
+
285
+ ---
286
+
287
+ ## 🖥️ Vista Previa de la Consola
288
+
289
+ ```
290
+ ╔════════════════════════════════════════════════════════╗
291
+ ║ ⚔️ AUM-IC Tailwind Killer v4.1.3 ║
292
+ ║ Powered by DuckDB • IngCrea ® ║
293
+ ╚════════════════════════════════════════════════════════╝
294
+
295
+ [✔] PRE-FLIGHT Rama de Git limpia. Sistema de archivos validado.
296
+ [⚡] SCAN Escaneando 1,247 archivos (Piscina Worker Threads: 8)...
297
+ [🔎] EXTRACCION 48,312 clases detectadas. Deduplicando...
298
+ [🚀] L1 CACHE DuckDB resolvió 47,924 clases en O(1) [Hit Rate: 99.2%]
299
+ [⚙️] L2 CACHE JIT local compiló 388 clases dinámicas [w-[320px], text-[#FF0000]...]
300
+ [🛡️] HASH Hashes deterministas: 48,312 -> 5,840 únicos
301
+ [💾] OUTPUT aumic-output.css generado (127KB -> 78KB, -39%)
302
+ [🔒] LOCK aumic-lock.json escrito. Rollback disponible.
303
+ [💥] PURGE Tailwind CSS eliminado de package.json. ¡Libertad!
304
+
305
+ ✔ Transmutación Zero-Bloat completada en 112ms.
306
+ ```
307
+
308
+ ---
309
+
310
+ ## ❓ Preguntas Frecuentes
311
+
312
+ **¿Esto rompe pseudo-clases como `hover:`, `focus:`, `md:`?**
313
+ > No. El interceptor AST preserva modificadores responsivos y de estado. El hash encapsula el selector completo con su regla `:hover` intacta en el CSS de salida.
314
+
315
+ **¿Puedo usarlo junto con Tailwind o lo elimina por completo?**
316
+ > En Modo Simulación, Tailwind no se toca. En Modo Local, sí se purga. Puedes revertir todo con `-m restore`.
317
+
318
+ **¿Soporta `@apply` en archivos CSS heredados?**
319
+ > Sí. El Preflight Theme Extractor procesa directivas `@apply` en `.css` y `.scss` durante la Fase 2.
320
+
321
+ **¿Qué pasa con clases dinámicas en JavaScript (`cn(...)`, `clsx(...)`)?**
322
+ > AUM-IC detecta patrones `cn`, `clsx` y `twMerge` en el AST y resuelve cadenas estáticas automáticamente. Las cadenas completamente dinámicas se marcan en el reporte de simulación para revisión manual.
323
+
324
+ **¿Soporta Tailwind v4 Oxide?**
325
+ > Sí. El L1 Cache (DuckDB) contiene el diccionario compilado de v4 Oxide y el L2 Cache secuestra el compilador nativo según tu `package.json`.
326
+
327
+ **¿Qué pasa si uso CSS-in-JS (`styled-components`, `emotion`) sin Tailwind?**
328
+ > AUM-IC Tailwind Killer procesa **clases utilitarias de Tailwind** en el markup de tus componentes. Si tu proyecto usa CSS-in-JS *sin* clases Tailwind en atributos HTML/JSX, no hay nada que transmutar — la herramienta reportará cero clases encontradas. En **proyectos mixtos** (Tailwind en algunos componentes + CSS-in-JS en otros), AUM-IC procesa solo las partes con Tailwind y deja los componentes CSS-in-JS completamente intactos.
329
+
330
+ **¿Qué pasa si la migración falla a la mitad?**
331
+ > La Fase 1 (Pre-Flight) corre antes de tocar cualquier archivo y aborta si detecta cambios Git sin commitear, problemas de permisos o dependencias faltantes. Si ocurre un fallo después de que la Fase 1 comienza a escribir, cada archivo modificado tiene una copia de respaldo `.aumic-bak` que el modo `-m restore` usa para recuperar el estado original exacto. Tu código siempre es recuperable.
332
+
333
+ **¿Necesito instalar DuckDB por separado?**
334
+ > No. DuckDB viene empaquetado dentro del módulo npm vía el binding Node.js de `duckdb`. Sin instalaciones del sistema, sin binarios extra, sin variables de entorno. Funciona de inmediato en macOS, Linux y Windows con Node.js >= 18.
335
+
336
+ ---
337
+
338
+ ## 🗺️ Roadmap
339
+
340
+ | Versión | Feature | Estado |
341
+ | :--- | :--- | :---: |
342
+ | v4.1.3 | DuckDB L1 · AST Paralelo · Rollback · IA | ✅ Estable |
343
+ | v4.2.0 | Plugin Vite nativo · Turbopack | 🔄 En desarrollo |
344
+ | v4.3.0 | Svelte estable · Angular 17+ | 📋 Planificado |
345
+ | v5.0.0 | Plugin VS Code · Dashboard web | 📋 Planificado |
346
+
347
+ ---
348
+
349
+ ## 🤝 Contribuciones
350
+
351
+ 1. Haz un **fork** del repositorio.
352
+ 2. Crea una rama: `git checkout -b feat/mi-mejora`.
353
+ 3. Ejecuta las pruebas: `npm test`.
354
+ 4. Abre un **Pull Request** describiendo el cambio y su motivación técnica.
355
+
356
+ > Todas las contribuciones deben cumplir con los principios de diseño no negociables en [`MANIFEST.es.md`](./MANIFEST.es.md).
357
+
358
+ ---
359
+
360
+ ## 🏢 Soporte Corporativo y Licenciamiento Dual
361
+
362
+ **AUM-IC Tailwind Killer** opera bajo un **Modelo de Licencia Dual**:
363
+
364
+ 1. **Open Source:** Gratis bajo la licencia [AGPL v3](./LICENSE) para proyectos open source, personales o educativos.
365
+ 2. **Comercial:** Licencia propietaria para organizaciones que embeben AUM-IC en productos cerrados, plataformas SaaS o flujos de trabajo enterprise internos. Ver [LICENSE-COMMERCIAL.es.md](./LICENSE-COMMERCIAL.es.md) para detalles.
366
+
367
+ Para organizaciones con monorepos de gran escala, **INGENIERÍA CREATIVA Y DESARROLLOS TECNOLÓGICOS S.A.S. (IngCrea)** ofrece:
368
+
369
+ | Servicio | Descripción |
370
+ | :--- | :--- |
371
+ | 🔍 **Auditoría de Migración** | Evaluación técnica, identificación de riesgos y plan de transmutación enterprise. |
372
+ | ⚡ **Integración CI/CD Gestionada** | AUM-IC configurado en GitHub Actions, GitLab CI o Jenkins. |
373
+ | 🧠 **IA On-Premise** | Despliegue de Ollama con modelos especializados en infraestructura del cliente. Cero exposición de código. |
374
+ | 🛡️ **SLA y Soporte Prioritario** | Canal dedicado, resolución de incidencias críticas en menos de 4 horas. |
375
+
376
+ > ### 📧 Contacto Enterprise
377
+ > **contacto@ingcrea.com** &nbsp;|&nbsp; [ingcrea.com](https://ingcrea.com)
378
+ > *Respuesta en menos de 24 horas hábiles.*
379
+
380
+ ---
381
+
382
+ > Desarrollado bajo la estándar tecnológica de **INGENIERÍA CREATIVA Y DESARROLLOS TECNOLÓGICOS S.A.S.** Excelencia, Determinismo y Zero-Trust.