Slumber a TUI HTTP Client
Slumber is a new terminal-based HTTP client (TUI/CLI) designed to streamline interaction with REST and other HTTP services. It aims to bridge the gap between raw curl and heavier GUI clients, emphasizing ease of use, configurability, and shareability through YAML request collections. Hacker News users are drawn to its TUI approach, Neovim integration, and the general quest for efficient developer workflows.
The Lowdown
Slumber presents itself as a robust terminal-based HTTP client, offering both an interactive Terminal User Interface (TUI) and a Command Line Interface (CLI) for varied use cases, from interactive debugging to scripting. Its core design philosophy centers on making HTTP interactions straightforward, customizable, and easily shareable.
- Dual Modes: Features a TUI for interactive request building and response viewing, alongside a CLI for quick requests and automation.
- Configuration: Leverages a YAML-based "request collection" for defining and managing requests, promoting reusability and sharing.
- Key Concepts: Supports advanced features like 'Recipes' for defining requests, 'Templates' for dynamic values, and 'Profiles' for environment-specific configurations.
- Advanced Capabilities: Includes data streaming, file uploads, external collection importing, and integration with JSON Schema for completion and validation.
- Integrations: Offers specific integrations, notably for Python and Neovim, catering to developer-centric workflows.
Ultimately, Slumber seeks to provide a powerful yet accessible tool for developers to manage and execute HTTP requests without leaving the comfort of their terminal, offering a flexible alternative to existing solutions.
The Gossip
Terminological Tussles
A spirited debate erupted over the precise definition of 'TUI.' Some commenters argued that 'TUI' historically stands for 'Text User Interface,' distinguishing text-only modes from graphical ones, and that 'terminal' doesn't inherently imply text (citing Windows Terminal Services for GUI terminals). Others countered that 'Terminal User Interface' is the widely understood contemporary term, especially for character-based applications, and that the term 'terminal' is broad enough to encompass local sessions and even graphical rendering within an emulator, making the application's usage clear.
YAML Yays and Nays
The choice of YAML for configuration sparked discussion. Critics questioned its complexity, perceived lack of human-readability compared to JSON, and potential security vulnerabilities. Proponents defended YAML, highlighting its benefits like support for comments, easier writing for simple structures, multi-line string capabilities, and the fact that JSON is a valid subset of YAML. The general sentiment leaned towards acknowledging YAML's prevalence, despite its quirks.
Alternative Appreciations & Workflow Wishes
Many users expressed enthusiasm for Slumber as a better alternative to raw `curl` or bulky GUI HTTP clients, praising its potential to streamline their workflow. Some commenters pointed to other TUI HTTP clients like Voiden and posting.sh as similar options. There was strong interest in features such as importing and exporting Postman collections and environment variables, with appreciation specifically called out for the Neovim integration.