@eduardbar/drift 0.3.0 → 0.5.0
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/.github/ISSUE_TEMPLATE/bug_report.md +41 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +39 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +46 -0
- package/AGENTS.md +229 -0
- package/CHANGELOG.md +114 -0
- package/CODE_OF_CONDUCT.md +30 -0
- package/CONTRIBUTING.md +125 -0
- package/LICENSE +21 -0
- package/README.md +71 -7
- package/ROADMAP.md +213 -0
- package/assets/og-v030-linkedin.png +0 -0
- package/assets/og-v030-linkedin.svg +120 -0
- package/assets/og-v030-x.png +0 -0
- package/assets/og-v030-x.svg +94 -0
- package/content-v030.txt +165 -0
- package/dist/analyzer.d.ts +2 -2
- package/dist/analyzer.js +904 -2
- package/dist/cli.js +52 -3
- package/dist/config.d.ts +12 -0
- package/dist/config.js +40 -0
- package/dist/diff.d.ts +10 -0
- package/dist/diff.js +58 -0
- package/dist/git.d.ts +19 -0
- package/dist/git.js +84 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -0
- package/dist/printer.d.ts +2 -1
- package/dist/printer.js +128 -0
- package/dist/types.d.ts +43 -0
- package/package.json +9 -1
- package/src/analyzer.ts +993 -3
- package/src/cli.ts +56 -3
- package/src/config.ts +45 -0
- package/src/diff.ts +74 -0
- package/src/git.ts +98 -0
- package/src/index.ts +2 -1
- package/src/printer.ts +146 -1
- package/src/types.ts +56 -0
package/content-v030.txt
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
================================================================
|
|
2
|
+
POST LINKEDIN
|
|
3
|
+
Imagen: assets/og-v030-linkedin.png
|
|
4
|
+
================================================================
|
|
5
|
+
|
|
6
|
+
La IA escribe el código. Pero no asume responsabilidad por él.
|
|
7
|
+
|
|
8
|
+
Y ese es el problema.
|
|
9
|
+
|
|
10
|
+
Cuando tú haces code review, buscas cosas como:
|
|
11
|
+
- catch blocks que tragan errores reales en silencio
|
|
12
|
+
- console.logs viviendo en lógica de producción
|
|
13
|
+
- imports de tres refactors atrás que nadie borró
|
|
14
|
+
- funciones de 50 líneas haciendo cinco cosas distintas
|
|
15
|
+
- funciones sin return type que rompieron el type inference sin avisar
|
|
16
|
+
|
|
17
|
+
Cuando usas IA para escribir código...
|
|
18
|
+
No hay esa segunda mirada.
|
|
19
|
+
Y el riesgo no explota hoy. Se acumula.
|
|
20
|
+
|
|
21
|
+
El CI sigue verde. El deploy sigue funcionando. El codebase se está pudriendo.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
Construí drift para eso.
|
|
26
|
+
|
|
27
|
+
Un CLI que escanea tu proyecto TypeScript con análisis AST real y le pone un score a cada archivo por deuda AI-generada.
|
|
28
|
+
|
|
29
|
+
0 es limpio. 100 es "reescribe esto antes de que alguien lo vea".
|
|
30
|
+
|
|
31
|
+
🚀 drift v0.3.0 — esto es lo que llegó:
|
|
32
|
+
|
|
33
|
+
🔥 --ai → JSON estructurado para pasarle directamente a Claude o GPT. Issues ordenados por severidad y esfuerzo. Quick wins primero. Con fix_suggestion por issue. Con recommended_action generada.
|
|
34
|
+
|
|
35
|
+
drift scan ./src --ai | pbcopy → pégalo en el chat → el modelo ya sabe dónde empezar.
|
|
36
|
+
|
|
37
|
+
🔥 --fix → sugerencias inline en consola para cada issue. Ya no solo te digo qué está mal. Te muestro qué hacer.
|
|
38
|
+
|
|
39
|
+
🔥 drift-ignore → control quirúrgico.
|
|
40
|
+
// drift-ignore por línea.
|
|
41
|
+
// drift-ignore-file para archivos completos con output intencional.
|
|
42
|
+
|
|
43
|
+
🔥 CI-ready con un flag:
|
|
44
|
+
npx @eduardbar/drift scan ./src --min-score 60
|
|
45
|
+
Exit 1 si el score supera el umbral. Un npx en tu GitHub Actions.
|
|
46
|
+
|
|
47
|
+
🔥 Windows-compatible → el npx fallaba silenciosamente en Windows con ES modules. Arreglado.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
Lo corrí en el CLI source de shadcn/ui → score 0.
|
|
52
|
+
Lo corrí en mis propios módulos con vibe coding → 40 a 60.
|
|
53
|
+
|
|
54
|
+
La diferencia existe. drift la hace medible.
|
|
55
|
+
|
|
56
|
+
npx @eduardbar/drift scan .
|
|
57
|
+
|
|
58
|
+
MIT. Zero config. Sin cloud. Sin setup.
|
|
59
|
+
|
|
60
|
+
⭐ Si te sirve, deja una estrella: github.com/eduardbar/drift
|
|
61
|
+
|
|
62
|
+
#TypeScript #OpenSource #VibeCoding #TechDebt #DeveloperTools #CleanCode #WebDev
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
================================================================
|
|
66
|
+
HILO X/TWITTER
|
|
67
|
+
Tweet 1 con imagen: assets/og-v030-x.png
|
|
68
|
+
================================================================
|
|
69
|
+
|
|
70
|
+
--- Tweet 1 ---
|
|
71
|
+
La IA escribe el código. Pero no asume responsabilidad por él.
|
|
72
|
+
|
|
73
|
+
Y ese es el problema real del vibe coding.
|
|
74
|
+
|
|
75
|
+
Construí drift para medirlo. v0.3.0 acaba de salir.
|
|
76
|
+
|
|
77
|
+
Hilo 🧵
|
|
78
|
+
|
|
79
|
+
--- Tweet 2 ---
|
|
80
|
+
Meses de vibe coding. CI verde. Deploy funcionando.
|
|
81
|
+
|
|
82
|
+
Y nadie sabía que el codebase se estaba pudriendo.
|
|
83
|
+
|
|
84
|
+
Catch blocks vacíos tragando errores reales.
|
|
85
|
+
console.logs en producción.
|
|
86
|
+
Funciones sin return type rompiendo el type inference.
|
|
87
|
+
Imports de tres refactors atrás que nadie borró.
|
|
88
|
+
|
|
89
|
+
El problema no explota hoy. Se acumula.
|
|
90
|
+
|
|
91
|
+
--- Tweet 3 ---
|
|
92
|
+
drift escanea tu proyecto TypeScript con análisis AST real.
|
|
93
|
+
|
|
94
|
+
Le pone un score a cada archivo por deuda AI-generada.
|
|
95
|
+
|
|
96
|
+
0 = limpio.
|
|
97
|
+
100 = reescribe esto antes de que alguien lo vea.
|
|
98
|
+
|
|
99
|
+
Un comando:
|
|
100
|
+
|
|
101
|
+
npx @eduardbar/drift scan .
|
|
102
|
+
|
|
103
|
+
Sin config. Sin cloud. Sin setup.
|
|
104
|
+
|
|
105
|
+
--- Tweet 4 ---
|
|
106
|
+
Nuevo en v0.3.0: --ai
|
|
107
|
+
|
|
108
|
+
Output JSON para pasarle directamente a Claude/GPT.
|
|
109
|
+
|
|
110
|
+
Issues ordenados por severidad + esfuerzo.
|
|
111
|
+
Quick wins primero.
|
|
112
|
+
fix_suggestion por issue.
|
|
113
|
+
recommended_action generada.
|
|
114
|
+
|
|
115
|
+
drift scan ./src --ai | pbcopy
|
|
116
|
+
|
|
117
|
+
Pégalo en el chat. El modelo ya sabe dónde empezar.
|
|
118
|
+
|
|
119
|
+
--- Tweet 5 ---
|
|
120
|
+
Nuevo en v0.3.0: --fix
|
|
121
|
+
|
|
122
|
+
Ya no solo te digo qué está mal.
|
|
123
|
+
Te muestro qué hacer.
|
|
124
|
+
|
|
125
|
+
│ - console.log(userData)
|
|
126
|
+
│ + Remove this or use a proper logging library
|
|
127
|
+
|
|
128
|
+
Inline. En consola. Sin salir de la terminal.
|
|
129
|
+
|
|
130
|
+
--- Tweet 6 ---
|
|
131
|
+
drift-ignore para control quirúrgico.
|
|
132
|
+
|
|
133
|
+
// drift-ignore ← suprime esta línea
|
|
134
|
+
// drift-ignore-file ← suprime el archivo entero
|
|
135
|
+
|
|
136
|
+
drift se corre sobre sí mismo.
|
|
137
|
+
printer.ts tiene drift-ignore-file en la línea 1 porque sus console.log son output intencional, no deuda.
|
|
138
|
+
|
|
139
|
+
Si no se come su propio dog food, no te lo recomendaría.
|
|
140
|
+
|
|
141
|
+
--- Tweet 7 ---
|
|
142
|
+
CI en un flag:
|
|
143
|
+
|
|
144
|
+
npx @eduardbar/drift scan ./src --min-score 60
|
|
145
|
+
|
|
146
|
+
Exit 1 si el score supera el umbral.
|
|
147
|
+
|
|
148
|
+
Un npx en tu GitHub Actions.
|
|
149
|
+
No setup. No config. No cloud.
|
|
150
|
+
Corre en Windows, Linux, macOS.
|
|
151
|
+
|
|
152
|
+
--- Tweet 8 ---
|
|
153
|
+
Lo corrí en el CLI source de shadcn/ui.
|
|
154
|
+
Score: 0. Producción real. Cero deuda.
|
|
155
|
+
|
|
156
|
+
Lo corrí en mis propios módulos con vibe coding.
|
|
157
|
+
Score: 40-60.
|
|
158
|
+
|
|
159
|
+
La diferencia existe. drift la hace medible.
|
|
160
|
+
|
|
161
|
+
MIT. Open source.
|
|
162
|
+
|
|
163
|
+
github.com/eduardbar/drift
|
|
164
|
+
|
|
165
|
+
Si te sirvió, una estrella no cuesta nada ⭐
|
package/dist/analyzer.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SourceFile } from 'ts-morph';
|
|
2
|
-
import type { FileReport } from './types.js';
|
|
2
|
+
import type { FileReport, DriftConfig } from './types.js';
|
|
3
3
|
export declare function analyzeFile(file: SourceFile): FileReport;
|
|
4
|
-
export declare function analyzeProject(targetPath: string): FileReport[];
|
|
4
|
+
export declare function analyzeProject(targetPath: string, config?: DriftConfig): FileReport[];
|
|
5
5
|
//# sourceMappingURL=analyzer.d.ts.map
|