Show HN: I built a command palette for the terminal – 6.2MB, pure Go, no fzf
Source Entity
Hacker News

A developer has released a lightweight, high-performance command palette for the terminal written in Go. The tool optimizes developer workflow by providing fuzzy searching, typo tolerance, and recency-based ranking without external dependencies.
The Evolution of Terminal Productivity
The introduction of a new, lightweight command palette for the terminal by developer 'decoreba' marks a significant trend in developer tooling. By focusing on a lean, 6.2MB binary written in pure Go, the tool addresses the common friction point of command-line complexity. Modern software development relies heavily on terminal usage, yet the cognitive load of memorizing long or infrequent commands remains a hurdle that this tool aims to mitigate.
Technical Efficiency and Design Philosophy
The tool distinguishes itself through its architectural choices. By utilizing pure ANSI escape codes and avoiding external dependencies, the developer has ensured a remarkably low startup time of approximately 2 milliseconds. This focus on performance is critical for terminal-based applications, where any noticeable latency can disrupt a developer's flow state. The decision to render as an inline overlay rather than a full-screen application further emphasizes a design philosophy centered on non-intrusive utility.
Intelligence in Search and Ranking
Beyond mere speed, the tool incorporates sophisticated search logic to improve user experience. By implementing the Damerau-Levenshtein distance algorithm, the palette provides robust typo tolerance, allowing for small errors without sacrificing search accuracy. Furthermore, the inclusion of accent normalization—where 'próximo' correctly matches 'proximo'—demonstrates a high level of attention to internationalized user needs.
Workflow Optimization through Algorithms
The tool's ranking system goes beyond basic string matching by incorporating a recency-based decay model. By calculating scores using a combination of fuzzy matching, usage frequency, and an exponential decay function with a 48-hour half-life, the palette effectively 'learns' a user's habits. This ensures that the most relevant commands remain accessible while allowing infrequently used commands to naturally fade from the top of the list.
Future Trends in CLI Tooling
As the developer community continues to favor tools that are portable and dependency-free, projects like this command palette set a benchmark for future CLI utilities. The integration of features such as MCP (Model Context Protocol) support and cross-shell synchronization suggests that this tool is designed to scale with the increasingly complex needs of modern DevOps and software engineering workflows. This shift toward 'zero-dependency' Go binaries is likely to remain a dominant trend in terminal-based development.