stinkpot: un buscador de historial de bash minimalista respaldado por SQLite

Fuentes: stinkpot: a tiny SQLite-backed shell-history searcher for bash

stinkpot es una herramienta de línea de comandos escrita en aproximadamente 400 líneas de Go que ofrece búsqueda de historial de shell para bash respaldada por SQLite. Su autor la presenta como una alternativa mucho más reducida a atuin, orientada a usuarios que solo necesitan la gestión de historial independiente de la sesión y la interfaz TUI de búsqueda inversa, sin las funciones adicionales de atuin como servidor de sincronización, atuin AI, gestor de dotfiles, gestor de scripts o almacén clave-valor. El proyecto se publica en GitHub bajo el nombre oppi.li/stinkpot, firmado por oppiliappan, y el repositorio está compuesto en un 82,5 % por Go y un 17,5 % por Nix.

Para usarlo basta con compilarlo con 'go build -o stinkpot .' y agregar 'eval "$(stinkpot init)"' al archivo .bashrc. Si el usuario emplea home-manager en NixOS, puede importar directamente el módulo incluido. Tras la instalación, el primer paso es importar el historial existente con 'stinkpot import'; desde entonces, pulsar Ctrl+R en la terminal abre una interfaz de búsqueda inversa que muestra los comandos más recientes junto con su antigüedad, navegable con las flechas y seleccionable con tab o enter. La base de datos se almacena en ~/.local/share/stinkpot y puede borrarse sin consecuencias graves si una actualización la rompe.

Las commits recientes reflejan optimizaciones de rendimiento, como el uso de un covering index en la consulta SQLite para la ordenación, lo que evita la creación de un árbol B temporal y acelera la búsqueda inversa. El nombre de la herramienta hace referencia a una especie de tortuga pequeña ('stinkpot turtle').