perri.to: Un mejunje de cosas

Arrancando el conjunto de herramientas Chum

  2026-08-30


Herramientas a medida

Como mencioné en un post anterior, IA, el regreso de las herramientas a medida de un solo uso, creo que la IA nos ayuda a volver a un conjunto de herramientas hecho a nuestra medida.

Ahora bien, no creo ser el único con este gusto particular, así que armé un set de herramientas que encajan con mi día a día y decidí compartirlas.

Mi trabajo diario ocurre dentro de macOS, así que hice estas herramientas primero para esa plataforma. Hago mucho dogfooding, así que dejé a Claude trabajando de fondo y solo hice una revisión y una mejora rápidas después de terminar cada funcionalidad, y le seguí pasando tickets a medida que me topaba con arrugas.

Tomé de GhosTTY la idea de un núcleo en un lenguaje sólido y la interfaz en nativo, y hasta ahora funcionó.

Las interfaces de macOS están hechas en SwiftUI+AppKit y las de Linux en GTK+LibAdwaita; esas las pruebo en una VM porque mi máquina Linux está actualmente en el garaje, cableada a experimentos de hardware.

Hasta ahora hice dos herramientas que uso regularmente y voy a hacer más a medida que me choque con más dolores de cabeza. Me dejé influir por este post sobre las TUIs y de alguna manera coincido con él, pero solo en el statu quo actual, donde las abstracciones de interfaz pueden llegar a ser más de lo que es expresable en una terminal y donde hacer varios frontends nativos es barato en horas humanas.

Las herramientas

Produzco paquetes deb, rpm, nix y arch junto con Apps de macOS firmadas (pagué un año de esa cuenta de desarrollador de Apple, así que más vale que le saque algún provecho)

TextChum

TextChum, cuyo código se puede encontrar acá.

Empezó como una implementación moderna de un editor al estilo TextMate (si te sirve, comprá TextMate y apoyá al autor; su editor fue durante años el estándar de oro de la elegancia minimalista, yo no logré llegar a ese nivel ni lo voy a lograr)

Un poco más que un editor pero ciertamente menos que un IDE.

La funcionalidad está muy adaptada a cómo me gusta editar archivos:

  • Los VSplits son columnas, cada panel puede mostrar un archivo distinto o todos el mismo
  • Los HSplits son simplemente divisiones sobre el archivo de esa columna.
  • LSPs para lenguajes, pero ahí termina el IDE-ismo.
  • Formateadores al guardar.
  • Un montón de microcomportamientos configurables.
  • Vista previa para Markdown (y una vista previa dignamente decente para el Markdown de Hugo, como el de este post)
  • i18n incluido para en, fr y es (siéntanse libres de agregar más)
  • Posibilidad de separar pestañas en otras ventanas o “proyectos” en ventanas.
  • Comando chum de línea de comandos, así se puede usar como $EDITOR
  • Muchas otras micro comodidades; pruébenlo y denme feedback

PRChum

PRChum, cuyo código se puede encontrar acá.

Esta es una herramienta más simple, en la base es una especie de pager de git.

Te da un plugin de git para que puedas invocar git prchum y evitar así intentar reemplazar el pager y fallar en algún punto.

En principio te permite navegar diffs pero también revisar PRs de una forge (soporta principalmente GitHub y Forgejo).

También tiene una forma de usarlo en loop con un harness de LLM como opencode, así uno puede dar y recibir feedback mientras trabaja.

Finalmente hay algunas facilidades como listas de PRs a partir de los abiertos previamente y una pantalla de “abrir PR” que acepta queries de búsqueda de la forge para guardarlas.