@ingcrea/aumic-tailwind-killer 4.1.5 → 4.3.1
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/README.es.md +398 -392
- package/README.md +440 -432
- package/package.json +52 -52
package/README.es.md
CHANGED
|
@@ -1,392 +1,398 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
>
|
|
4
|
-
|
|
5
|
-
[](https://github.com/ingcrea/aumic-tailwind-killer/stargazers)
|
|
7
|
-
[](https://github.com/ingcrea/aumic-tailwind-killer/network/members)
|
|
8
|
-
[](https://duckdb.org)
|
|
9
|
-
[](https://tailwindcss.com)
|
|
10
|
-
[](https://nodejs.org)
|
|
11
|
-
[](https://www.gnu.org/licenses/agpl-3.0)
|
|
12
|
-
|
|
13
|
-
**AUM-IC Tailwind Killer** no es solo un orquestador CLI; es la
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
##
|
|
20
|
-
|
|
21
|
-
> **Prerequisitos:** Node.js >= 18.0
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
# 1. Audita tu proyecto sin tocar
|
|
25
|
-
npx @ingcrea/aumic-tailwind-killer -m simulate -t ./mi-proyecto
|
|
26
|
-
|
|
27
|
-
# 2. Cuando
|
|
28
|
-
npx @ingcrea/aumic-tailwind-killer -m local -t ./mi-proyecto
|
|
29
|
-
|
|
30
|
-
# 3.
|
|
31
|
-
npx @ingcrea/aumic-tailwind-killer -m restore -t ./mi-proyecto
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
> **Antes de ejecutar `-m local`:**
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
##
|
|
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
|
|
44
|
-
|
|
45
|
-
2. **
|
|
46
|
-
El terror de los CTOs es atar un proyecto gigante a la sintaxis de un framework de terceros que
|
|
47
|
-
|
|
48
|
-
3. **
|
|
49
|
-
Los puristas odian mezclar estructura y
|
|
50
|
-
|
|
51
|
-
4. **
|
|
52
|
-
No ofuscamos solo por seguridad anti-scraping. Al generar hashes
|
|
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
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
##
|
|
60
|
-
|
|
61
|
-
|
|
|
62
|
-
| :--- | :---: | :---: | :---: | :---: | :---: |
|
|
63
|
-
| **Elimina CSS sin uso** |
|
|
64
|
-
| **Ofusca los nombres de clases** |
|
|
65
|
-
| **Zero-Bloat (elimina dependencia Tailwind)** |
|
|
66
|
-
| **
|
|
67
|
-
| **Rollback / Deshacer** |
|
|
68
|
-
| **AST (sin hacks de regex)** |
|
|
69
|
-
| **Soporta v1 / v2 / v3 / v4 Oxide** |
|
|
70
|
-
| **Nombrado
|
|
71
|
-
| **Offline / Air-Gapped** |
|
|
72
|
-
| **Previene colisiones CSS post-
|
|
73
|
-
|
|
74
|
-
> **Resumen:** PurgeCSS solo elimina
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
##
|
|
79
|
-
|
|
80
|
-
1. **L1 Cache (DuckDB - El
|
|
81
|
-
Mediante
|
|
82
|
-
2. **L2 Cache (Dynamic JIT - El Secuestrador):**
|
|
83
|
-
Para clases
|
|
84
|
-
3. **Preflight Theme Extractor:**
|
|
85
|
-
Absorbe
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
##
|
|
90
|
-
|
|
91
|
-
```
|
|
92
|
-
Tu Proyecto (
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
##
|
|
140
|
-
|
|
141
|
-
### HTML / JSX
|
|
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
|
|
149
|
-
```html
|
|
150
|
-
<div class="aumic-rs-1b3a">
|
|
151
|
-
<span class="aumic-rs-2c4f">Dashboard</span>
|
|
152
|
-
</div>
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
### CSS Generado
|
|
156
|
-
```css
|
|
157
|
-
/* aumic-output.css
|
|
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
|
|
176
|
-
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
##
|
|
180
|
-
|
|
181
|
-
Cada
|
|
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`
|
|
212
|
-
|
|
213
|
-
---
|
|
214
|
-
|
|
215
|
-
##
|
|
216
|
-
|
|
217
|
-
> **No se requieren dependencias adicionales del sistema.** DuckDB viene empaquetado dentro del
|
|
218
|
-
|
|
219
|
-
```bash
|
|
220
|
-
# Uso al vuelo mediante NPX (recomendado)
|
|
221
|
-
npx @ingcrea/aumic-tailwind-killer -m local -t ./mi-proyecto
|
|
222
|
-
|
|
223
|
-
#
|
|
224
|
-
npm install -g @ingcrea/aumic-tailwind-killer
|
|
225
|
-
aumic-tailwind-killer -m local -t ./mi-proyecto
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
---
|
|
229
|
-
|
|
230
|
-
##
|
|
231
|
-
|
|
232
|
-
### 1. Modo
|
|
233
|
-
```bash
|
|
234
|
-
npx @ingcrea/aumic-tailwind-killer -m simulate -t ./
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
### 2. Modo Local (
|
|
238
|
-
```bash
|
|
239
|
-
npx @ingcrea/aumic-tailwind-killer -m local -t ./
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
### 3. Modo
|
|
243
|
-
```bash
|
|
244
|
-
npx @ingcrea/aumic-tailwind-killer -m local -t ./ -s "src/frontend/**/*.{tsx,astro}"
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
### 4. Modo
|
|
248
|
-
```bash
|
|
249
|
-
npx @ingcrea/aumic-tailwind-killer -m restore -t ./
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
### 5. Nombrado
|
|
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
|
-
##
|
|
262
|
-
|
|
263
|
-
| Corta | Larga |
|
|
264
|
-
| :--- | :--- | :--- | :--- |
|
|
265
|
-
| `-m` | `--mode` | Modo: `simulate`, `local`, `restore`. | **S
|
|
266
|
-
| `-t` | `--target` | Ruta al directorio del proyecto. | **S
|
|
267
|
-
| `-s` | `--scope` |
|
|
268
|
-
|
|
|
269
|
-
|
|
|
270
|
-
|
|
|
271
|
-
|
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
##
|
|
276
|
-
|
|
277
|
-
|
|
|
278
|
-
| :--- | :---: | :---: | :---: |
|
|
279
|
-
| **Tiempo de
|
|
280
|
-
| **RAM consumida** | `~210MB` | `~48MB` | `~85MB` |
|
|
281
|
-
| **
|
|
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
|
-
##
|
|
288
|
-
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
[
|
|
296
|
-
[
|
|
297
|
-
[
|
|
298
|
-
[
|
|
299
|
-
[
|
|
300
|
-
[
|
|
301
|
-
[
|
|
302
|
-
[
|
|
303
|
-
[
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
---
|
|
309
|
-
|
|
310
|
-
##
|
|
311
|
-
|
|
312
|
-
|
|
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
|
-
|
|
316
|
-
> En Modo
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
> S
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
> AUM-IC detecta patrones `cn`, `clsx` y `twMerge` en el AST y resuelve cadenas
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
> S
|
|
326
|
-
|
|
327
|
-
|
|
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
|
|
329
|
-
|
|
330
|
-
|
|
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
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
> No. DuckDB viene empaquetado dentro del
|
|
335
|
-
|
|
336
|
-
---
|
|
337
|
-
|
|
338
|
-
##
|
|
339
|
-
|
|
340
|
-
|
|
|
341
|
-
| :--- | :--- | :---: |
|
|
342
|
-
| v4.1.3 | DuckDB L1
|
|
343
|
-
| v4.2.0 | Plugin Vite nativo
|
|
344
|
-
| v4.3.0 | Svelte estable
|
|
345
|
-
| v5.0.0 | Plugin VS Code
|
|
346
|
-
|
|
347
|
-
---
|
|
348
|
-
|
|
349
|
-
##
|
|
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
|
|
355
|
-
|
|
356
|
-
> Todas las contribuciones deben cumplir con los principios de
|
|
357
|
-
|
|
358
|
-
---
|
|
359
|
-
|
|
360
|
-
##
|
|
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, **
|
|
368
|
-
|
|
369
|
-
| Servicio |
|
|
370
|
-
| :--- | :--- |
|
|
371
|
-
|
|
|
372
|
-
|
|
|
373
|
-
|
|
|
374
|
-
|
|
|
375
|
-
|
|
376
|
-
> ###
|
|
377
|
-
> **contacto@ingcrea.com** | [ingcrea.com](https://ingcrea.com)
|
|
378
|
-
> *Respuesta en menos de 24 horas
|
|
379
|
-
|
|
380
|
-
---
|
|
381
|
-
|
|
382
|
-
> Desarrollado bajo la
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
- **
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
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
|
+
[](https://www.npmjs.com/package/@ingcrea/aumic-tailwind-killer)
|
|
6
|
+
[](https://github.com/ingcrea/aumic-tailwind-killer/stargazers)
|
|
7
|
+
[](https://github.com/ingcrea/aumic-tailwind-killer/network/members)
|
|
8
|
+
[](https://duckdb.org)
|
|
9
|
+
[](https://tailwindcss.com)
|
|
10
|
+
[](https://nodejs.org)
|
|
11
|
+
[](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** | [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.
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
### 🛡️ Seguridad Zero-Trust y Arquitectura AUM-IC (v4.1.6)
|
|
386
|
+
A partir de la versión 4.1.5, el compilador AUM-IC Tailwind Killer ha sido reescrito desde cero utilizando nuestra propia **Arquitectura Cósmica AUM-IC (Átomos a Galaxias)**.
|
|
387
|
+
- **Desintegración del Monolito:** El núcleo ha sido purificado en 6 capas de abstracción (Átomos, Moléculas, Células, Organismos, Ecosistemas y Galaxias), promoviendo mantenibilidad y separación de responsabilidades a niveles fractales.
|
|
388
|
+
- **Modelo de Ejecución Zero-Trust:** Hemos erradicado TODAS las instancias de child_process.exec y execSync. Ahora, toda ejecución nativa opera estrictamente bajo spawn/spawnSync puro, pasando los argumentos como arreglos inmutables y deshabilitando intérpretes de shell. Esto cierra definitivamente cualquier vector de Command Injection (OWASP A03:2021) en la herramienta. AUM-IC es intrínsecamente seguro por diseño.
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
### 🛡️ Seguridad Zero-Trust y Arquitectura AUM-IC (v4.1.6)
|
|
392
|
+
A partir de la versión 4.1.5, el compilador AUM-IC Tailwind Killer ha sido reescrito desde cero utilizando nuestra propia **Arquitectura Cósmica AUM-IC (Átomos a Galaxias)**.
|
|
393
|
+
- **Desintegración del Monolito:** El núcleo ha sido purificado en 6 capas de abstracción (Átomos, Moléculas, Células, Organismos, Ecosistemas y Galaxias), promoviendo mantenibilidad y separación de responsabilidades a niveles fractales.
|
|
394
|
+
- **Modelo de Ejecución Zero-Trust:** Hemos erradicado TODAS las instancias de child_process.exec y execSync. Ahora, toda ejecución nativa opera estrictamente bajo spawn/spawnSync puro, pasando los argumentos como arreglos inmutables y deshabilitando intérpretes de shell. Esto cierra definitivamente cualquier vector de Command Injection (OWASP A03:2021) en la herramienta. AUM-IC es intrínsecamente seguro por diseño.
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
*Creado por Ingeniería Creativa bajo el Estándar AUM-IC 7:2026*
|