Command Vault is a command manager for storing, and executing your complex commands. It provides a user-friendly interface to search, list, and delete commands, as well as tag commands for better organization.
- π Smart search through command history
- π·οΈ Tag commands for better organization
- π Cross-shell support (Bash, Zsh)
- πΎ Local SQLite database for fast searching
- π Safe command execution with validation
# Add a command with tags
command-vault add --tags git,deploy -- git push origin main
command-vault add -- echo "Hello, world!"
# Add a command with parameters
command-vault add "git commit -m @message:Commit message"
command-vault add "curl -X POST @url:API endpoint -d @data:JSON payload"
You can add dynamic parameters to your commands using the @parameter
syntax:
- Simple parameter:
@name
Examples:
# Git commit with message parameter
git commit -m "@message"
When executing a command with parameters, Command Vault will prompt you to enter values for each parameter.
# Search commands
command-vault search "git push"
# List recent commands
command-vault ls
# Delete a command
command-vault delete <command-id>
# Show tag command
command-vault tag # Show tag related commands
command-vault tag list # List tag related commands
You can download the latest release for your platform from the releases page.
# Download the latest release (replace X.Y.Z with the version number)
curl -LO https://github.com/ozankasikci/command-vault/releases/download/v0.3.0/command-vault-macos-arm64.tar.gz
tar xzf command-vault-macos-arm64.tar.gz
# Make it executable
chmod +x command-vault-linux-amd64
# Move it to your PATH
sudo mv command-vault-linux-amd64 /usr/local/bin/command-vault
# Initialize shell integration (add to your .bashrc or .zshrc)
source "$(command-vault shell-init)"
# Download the latest release (replace X.Y.Z with the version number)
curl -LO https://github.com/ozankasikci/command-vault/releases/download/v0.3.0/command-vault-macos-arm64.tar.gz
tar xzf command-vault-macos-arm64.tar.gz
# Make it executable
chmod +x command-vault-macos-arm64
# Move it to your PATH
sudo mv command-vault-macos-arm64 /usr/local/bin/command-vault
# Initialize shell integration (add to your .bashrc or .zshrc)
source "$(command-vault shell-init)"
Download the Windows executable from the releases page and add it to your PATH.
Command Vault needs to be integrated with your shell to automatically track commands. Add this to your shell's RC file:
# For Bash (~/.bashrc)
source "$(command-vault shell-init)"
# For Zsh (~/.zshrc)
source "$(command-vault shell-init)"
If you prefer to build from source, you'll need Rust installed on your system:
# Clone the repository
git clone https://github.com/yourusername/command-vault.git
cd command-vault
# Build the project
cargo build --release
# The binary will be available in target/release/command-vault
Add the following to your shell's configuration file (~/.bashrc
or ~/.zshrc
):
source "$(command-vault shell-init)"
cargo test
# Generate coverage report (requires cargo-tarpaulin)
./scripts/coverage.sh
# View the report in your browser
open coverage/tarpaulin-report.html
For easier access, you can add aliases to your shell configuration:
# to use as cmdv:
alias cmdv='command-vault'
# or to use as cv:
alias cv='command-vault'
After adding the aliases, restart your shell or run:
source ~/.zshrc # for Zsh
source ~/.bashrc # for Bash
Now you can use shorter commands:
cv add 'echo Hello'
cmdv ls
This project is licensed under the MIT License - see the LICENSE file for details.