Herramienta propia
Acentos rotos.Diagnóstico organizado.
Una herramienta propia para investigar problemas de codificación en proyectos.
Encuentra y señala cada acento roto del proyecto.
- Tauri 2
- Rust
- React 18
- TypeScript
Herramienta propiaEscaneodel proyectoOcurrencias
con contextoInformes de
diagnóstico

Acentos rotos.Diagnóstico organizado.
Una herramienta propia para investigar problemas de codificación en proyectos.
- Tauri 2
- Rust
- React 18
- TypeScript
Encuentra y señala cada acento roto del proyecto.
- Tauri 2
- Rust
- React 18
- TypeScript
El problema
VEÍCULOS se volvió VE?CULOS.
Un acento roto casi nunca es un error de tipeo: es el archivo guardado en un estándar de letras y leído en otro. Por fuera, la palabra solo se ve rara; por dentro, los bytes cuentan qué pasó. Elige una situación y toca o pasa el mouse por las letras.
Cuatro situaciones
LetraBytes en el archivo
Lo que dice el programa
- OKUTF-8 válido. La Í ocupa dos bytes (C3 8D), como debe.
Es el estándar de hoy: cada letra con acento son dos bytes, y cualquier programa la lee igual.
Los bytes son los reales de cada estándar; los mensajes siguen las revisiones del núcleo en Rust (analyze_file).

Del archivo al contexto. Mira dónde investigar.
Ocurrencias por archivo, línea y columna para apoyar el mantenimiento.
Archivo, línea y columnaContexto de la ocurrenciaFiltros por gravedadUn proyecto tiene cientos de archivos, y el acento roto puede estar en cualquiera. El programa los lee todos y entrega la lista: cuáles están bien, cuáles piden atención y, en cada uno, la línea, la columna y el texto alrededor, para ir directo al lugar.
- 12 <label>Ve�culo</label>FFFD_REPLACEMENTLínea 12 · columna 18
- 27 placeholder="Endere�o"FFFD_REPLACEMENTLínea 27 · columna 23
El informe sale en tres formatos
# HUNT Encoding Checker - Report **Scan Date:** 2026-10-16 15:42:07 **Path:** D:/Projetos/loja-exemplo **Total:** 6 files | **Critical:** 3 | **Warning:** 1 | **OK:** 1 --- ## src/pages/cadastro.tsx [CRITICAL] - Encoding: windows-1252 - BOM: No - Line ending: CRLF | Line | Type | Context | |------|------|---------| | 12 | FFFD_REPLACEMENT | <label>Ve�culo</label> | | 27 | FFFD_REPLACEMENT | placeholder="Endere�o" |
Los archivos son de ejemplo. Los tipos de ocurrencia, las gravedades y el formato del informe son los del código (analyze_file y export_report_md); el texto del informe sale en inglés, como en el programa.
La red de seguridad
Antes de tocarlo, una copia.
Corregir archivos de un proyecto da miedo: ¿y si empeora? Por eso el programa exige una carpeta de copias. Antes de cualquier corrección, copia los archivos a una carpeta con fecha y hora y anota en un manifiesto de dónde vino cada uno. Si no te gusta, un clic deja todo como estaba.
Elige las correcciones
Copias guardadas
_manifest.json
{ "id": "snapshot-20261014-092611", "timestamp": "2026-10-14 09:26:11", "files": [ { "original_path": "D:/Projetos/loja-exemplo/src/pages/cadastro.tsx", "backup_name": "D__Projetos_loja-exemplo_src_pages_cadastro.tsx" }, { "original_path": "D:/Projetos/loja-exemplo/README.md", "backup_name": "D__Projetos_loja-exemplo_README.md" } ] }
Los nombres de la carpeta y del manifiesto son los que graba el programa (create_snapshot); las correcciones son las de apply_corrections. La carpeta de copias es obligatoria para corregir.

Herramienta de escritorio
Una herramienta propia. Una rutina más liviana.
Desarrollo propio para apoyar la calidad de los proyectos.
InformesComparaciónde encodingCorrecciones
asistidas
Después de corregir, la pregunta es: ¿funcionó? El programa pone la carpeta original y la corregida lado a lado y señala, archivo por archivo, qué cambió en el estándar de letras, dónde desapareció el rombo y qué existe de un solo lado.
5 diferencias en 7 archivos
loja-exemplo/Carpeta corregidaloja-exemplo-corrigida/src/pages/cadastro.tsxwindows-1252�Cambió el estándarsrc/pages/cadastro.tsxUTF-8docs/manual.txtUTF-8�Se fue el rombodocs/manual.txtUTF-8README.mdUTF-8 BOMCambió el estándarREADME.mdUTF-8src/styles/tema.cssASCIIIgualsrc/styles/tema.cssASCIIsrc/utils/log.tsUTF-8Igualsrc/utils/log.tsUTF-8notas-antigas.txtUTF-8Solo en la original——Solo en la corregidadocs/changelog.mdUTF-8La comparación mira el estándar de letras detectado, el carácter de sustitución y el tamaño de cada archivo (compare_directories); no revisa el texto línea por línea. Las carpetas son de ejemplo.
Lo que lee
Lee lo que es texto, salta lo que es peso.
Una carpeta de proyecto carga mucho que nadie escribió a mano: bibliotecas descargadas, versiones armadas, historial. El programa pasa la carpeta por un tamiz: lee los tipos de archivo de texto y de código y salta las carpetas pesadas que solo atrasarían el escaneo.
Una carpeta de proyectoSaltados
.tsnode_modules.tsx.next.js.git.jsxdist.htmlbuild.css.cache.md.vercel.json.turbo.sqlcoverage.prisma__pycache__.envtarget.txt.svn.yml.hg.yaml
Leídos
- 14tipos de archivo leídos
- 13carpetas saltadas por nombre
- 12funciones del núcleo en Rust
Las carpetas cuyo nombre empieza con { también quedan fuera. Antes de leer, el programa cuenta cuántos archivos va a mirar.
Las listas son las del núcleo (SCAN_EXTENSIONS y EXCLUDED_DIRS en main.rs); las funciones, las del generate_handler.
Las tecnologías
De qué está hecho, pieza por pieza
Un programa de escritorio que lee proyectos byte a byte: la pantalla es React dentro de Tauri 2, y el núcleo en Rust recorre las carpetas, estima el estándar de letras, señala cada ocurrencia y guarda las copias. Elige una pieza para ver qué hace aquí y en qué archivo está.
14tecnologías, en 3 capas
Pantalla
Ventana y núcleo
Lectura de archivos
Siguiente proyecto44 / 51

Herramientas de creación y desarrolloMotor DesignPanel de escritorio que abre sitios de referencia en un navegador de verdad y mide tecnologías, colores, letras y movimiento, con duración y curva medidas, no adivinadasReact 19.2TypeScript 5.9Vite 6.4lucide-react
← AnteriorDevHub GitHub

