- Ferrite es un editor de texto basado en Rust que permite editar archivos Markdown, JSON, YAML y TOML de forma rápida y ligera
- Usa el framework egui para ofrecer una capacidad de respuesta de nivel nativo y un entorno de ejecución multiplataforma
- Incluye varias funciones como vista previa WYSIWYG, renderizado de diagramas MermaidJS, integración con Git y modo workspace
- Todo el código Rust y la documentación del proyecto fueron generados por IA (Claude de Anthropic), mientras que las personas se encargaron de la revisión y las pruebas
- Como caso real de desarrollo asistido por IA, es un proyecto que muestra la posibilidad de colaboración entre el ecosistema Rust y el desarrollo con IA
Resumen de Ferrite
- Ferrite es un editor de texto rápido y liviano compatible con archivos Markdown, JSON, YAML y TOML
- Está escrito con Rust y egui, lo que garantiza una respuesta de nivel nativo y ejecución multiplataforma
- Se desarrolló y probó principalmente en Windows, pero también puede ejecutarse en Linux y macOS
- Ofrece binarios precompilados para Windows, Linux (.deb, tar.gz) y macOS (Intel/ARM)
Desarrollo basado en IA
- Todo el código Rust, la documentación y los archivos de configuración de Ferrite fueron escritos por IA (Claude de Anthropic)
- El desarrollador se encargó de definir la dirección del producto, las pruebas y la coordinación del desarrollo con IA
- El código se acepta tras revisión y pruebas, y el proceso de generación con IA se divulga de forma transparente
- El proyecto busca explorar los límites y posibilidades del desarrollo asistido por IA
Funciones principales
- Soporte para vista previa de Markdown en tiempo real (WYSIWYG) y resaltado de sintaxis
- Compatibilidad con múltiples formatos: Markdown, JSON, YAML, TOML
- Con Tree Viewer se puede explorar de forma jerárquica y editar en línea la estructura de JSON/YAML/TOML
- Incluye funciones de productividad como búsqueda y reemplazo con expresiones regulares, mover líneas (Alt+↑/↓) y duplicar línea (Ctrl+Shift+D)
- Ofrece cierre automático de paréntesis y comillas, autoguardado, configuración del ancho de línea, minimap y plegado de código
Renderizado de diagramas MermaidJS
- Renderiza de forma nativa 11 tipos de diagramas con MermaidJS
- Flowchart, Sequence, Pie, State, Mindmap, Class, ER, Git Graph, Gantt, Timeline, User Journey
- Se pueden visualizar directamente dentro de la vista previa de Markdown
Workspace y entorno de edición
- Con Workspace Mode permite abrir carpetas, explorar el árbol de archivos, cambiar rápidamente entre archivos (Ctrl+P) y buscar en todo el proyecto (Ctrl+Shift+F)
- La integración con Git muestra visualmente el estado de archivos modificados, añadidos o ignorados
- La función de restauración de sesión recupera pestañas, posición del cursor y estado de desplazamiento al reiniciar
- Zen Mode ofrece un entorno de escritura enfocado, y Split View permite ver al mismo tiempo el contenido original y el renderizado
1 comentarios
Comentarios en Hacker News
Esperaba avances en Zed, pero este proyecto también está bastante interesante
Yo uso Obsidian intensivamente, pero ojalá aparezca una alternativa real enfocada en lo fundamental
Me da curiosidad cuál es la meta final. Lo voy a seguir de cerca
Todavía no está listo para publicarlo en Show HN, pero me gustaría escuchar comentarios tempranos
Que arranque al instante, sin Electron ni tecnologías web; en la v0.3.0 planeo separar Mermaid en un crate aparte y crear un widget personalizado que supere las limitaciones de TextEdit de egui
A largo plazo, el objetivo es convertirlo en una biblioteca de editor headless basada en Rust
Para más detalles, revisa ROADMAP.md
Es interesante que Ferrite se haya desarrollado y probado principalmente en Windows
Últimamente sentía que los usuarios de Windows eran como ciudadanos de segunda, así que da gusto verlo
Pero me sorprendió un poco ver la frase “este proyecto está hecho con código generado 100% por AI”
Aun así, me gusta que lo hayan dicho con honestidad
Parece que lo añadieron solo después de que algunos usuarios señalaran que se estaba ocultando el uso de AI
Quiero hacer un poco de promoción de mi app Octarine
Es una app de notas Markdown estilo WYSIWYG escrita en Rust(Tauri), y guarda todos los datos localmente
No está “vibe coded” :)
Últimamente hay mucho contenido generado por AI en HN, y este post también parece estar lleno de código y comentarios generados por AI
Supongo que porque toca muy bien varios temas populares
El texto de las capturas se ve tan pequeño que casi hace falta una lupa
Conviene tomar capturas ni demasiado grandes ni demasiado pequeñas, de forma que el contenido se vea bien
Sobre todo en alta resolución, si hay demasiado espacio en blanco la legibilidad empeora
Las tomé en alta resolución y en pantallas pequeñas eran difíciles de leer
Voy a reducir el tamaño de la ventana y el espacio en blanco para volver a tomarlas
Yo pagué con gusto por Typora
Solo soporta Markdown, pero este espacio todavía tiene mucho potencial
Sobre todo ahora que los LLM generan mucho texto estructurado y diagramas
Además, es open source
Es raro ver un proyecto con egui en el que no se note tanto el estilo típico de egui
Me da curiosidad cómo ha sido la experiencia de trabajar con egui
Al ser de modo inmediato, la gestión de estado es simple
Pero TextEdit no está hecho para un editor de código, así que no tiene multicursor ni plegado de código
Por eso planeo reemplazarlo con un widget personalizado en la v0.3.0
Que el tema por defecto se sienta demasiado “egui” lo resolví con un tema personalizado
Da gusto ver que usa renderizado nativo de Markdown
Está bien que no sea como otras bibliotecas que levantan Chromium para sacar capturas
Al compartirlo, podría verse distinto
Dentro de Ferrite no hay problema, y para compartir voy a agregar exportación a SVG en la v0.3.0
Me pregunto por qué eliminaron del repositorio la configuración e instrucciones para agentes de AI (ver
.gitignore)Pero los archivos de configuración de AI no eran necesarios para el proyecto, así que los excluí
Voy a añadir en el README que recibí ayuda de AI
El código se incorporó después de revisarlo; no fue aceptado sin criterio
Solo tiene 10 commits y algunos están llenos de documentos markdown repletos de emojis
Sería útil que al menos el parsing y layout de Mermaid se separaran en un crate independiente
Estaría bueno tener una herramienta CLI rápida que pueda generar SVG/PDF/PNG
Voy a extraer el renderizador de Mermaid, de unas 7000 líneas, como un crate independiente, y añadir salida SVG/PNG y soporte CLI
Está escrito en Rust puro, así que también podría ser compatible con WASM. Ojalá te entusiasme