PitchHut logo
Transform shell history into an intuitive command palette.
Pitch

ctrlr revolutionizes the way shell users interact with their command history. By offering a searchable command palette, it allows for instant access to frequently used commands, favorites, and organized collections. Ideal for enhancing productivity, ctrlr replaces the traditional linear history with a fast, keyboard-friendly interface for bash, zsh, and fish.

Description

ctrlr is a powerful tool designed to transform shell history into a streamlined, searchable command palette, eliminating the need to repeatedly search for commands that have already been used. It provides an efficient way to access, organize, and execute commands from bash, zsh, and fish, all through a fast text-based user interface (TUI) powered by ratatui.

Key Features

  • Instant Search: Quickly find commands from your shell history with fuzzy search capabilities.
  • Favorites Management: Keep track of frequently used commands for easy access.
  • Tags & Collections: Organize commands with customizable tags and collections to improve usability.
  • Data Import/Export: Backup and share your command history in JSON format.
  • Keyboard-first Workflow: Navigate and operate with keyboard-centric commands for efficiency.

Usage Overview

To get started using ctrlr, simply launch it by executing:

ctrlr

This opens the command picker, allowing users to search, select, and execute commands effortlessly.

For enhanced usability, ctrlr can replace the default reverse search feature in your shell. Integrate it with:

ctrlr init

Data management capabilities allow for exported commands to be saved and imported:

ctrlr export           # Outputs to stdout
ctrlr export backup.json  # Saves commands in a file

Users can also perform imports with options for merging or replacing data effectively:

ctrlr import backup.json            # Merges by default
ctrlr import backup.json --dry-run  # Preview without changes
ctrlr import backup.json --replace  # Replace existing data

Why Choose ctrlr?

The traditional shell history search is often linear and cumbersome, lacking organization and efficiency. ctrlr provides a solution that enhances search capabilities, facilitates command organization through favorites and tagging, and fosters a structured workflow over time.

Storage and Data Management

ctrlr stores all command metadata, favorites, tags, and collections locally in an SQLite database. Users can find their data in different locations depending on their operating system:

  • Linux: ~/.local/share/ctrlr/ctrlr.db
  • macOS: ~/Library/Application Support/ctrlr/ctrlr.db

This ensures that users not only have efficient access to their frequently used commands but also have a reliable backup and restore system in place.

Development and Contributions

Feedback and contributions are encouraged to enhance ctrlr further. A clear roadmap of future enhancements is outlined, focusing on improving user experience, command ranking, and additional features.

Frameworks Used

ctrlr is built with the help of:

Utilize ctrlr to optimize your command line experience and reduce the time spent searching for previous commands.

0 comments

No comments yet.

Sign in to be the first to comment.