| Crates.io | pars-cli |
| lib.rs | pars-cli |
| version | 0.1.5 |
| created_at | 2025-04-23 04:37:59.667952+00 |
| updated_at | 2025-04-28 14:39:43.250086+00 |
| description | A zx2c4-pass compatible passwords manager |
| homepage | |
| repository | https://github.com/vollate/pass-store-rs |
| max_upload_size | |
| id | 1645019 |
| size | 75,518 |
pars is a cross-platform zx2c4-pass compatible CLI tool for managing your password store.
To use pars-cli, ensure your system has the following dependencies installed:
gpg2: for encryption and decryption (any program that implements the PGP standard, such as GnuPG or OpenPGP)git: for version controlxclip(X11) or wl-clipboard(Wayland): for Linux DE clipboard supportRefer to the Installation section for installation details.
We are trying to package pars-cli to more package managers. If you want to help, feel free to open an issue or PR.
Install pars-cli using Cargo:
cargo install pars-cli
Already familiar with
pass? You can skip this section and go straight to the Differences.
pars is largely compatible with pass, supporting the same core commands:
# Initialize the password store
pars init <your-gpg-id>
# List all stored entries
pars ls
# Add a new password
pars insert <path/to/password>
# Generate a password
pars generate <path/to/password> <length> # -c to copy to clipboard
# Show a password
pars show <path/to/password> # -c to copy / -q to show QR code
# Edit a password
pars edit <path/to/password>
# Default editor is 'vim' on Unix and 'notepad' on Windows.
# You can configure this in the config file.
# Remove a password
pars rm <path/to/password> # -r to remove recursively from git
# Search passwords by name
pars find <name>
# Search passwords by content
pars grep <content>
# For more commands, check the help message:
pars --help # or -h(short help)
While pars aims for full compatibility with pass, a few key differences exist:
Configuration via File
Unlike pass, pars does not rely on environment variables for configuration. All settings are managed through a dedicated config file. You can change the config file location by setting the PARS_CONFIG_PATH environment variable.
No Plugin Support (Yet)
Plugin support is currently not available, but may be considered in future versions.
The configuration file's default location depends on your operating system:
~/.config/pars/config.toml~/Library/Application Support/pars/config.toml%APPDATA%/pars/config.tomlIf no config file is found or some options are not set, pars will use the default values to fill the missing parts.
You can copy and modify the following default config file to make your own:
[print_config]
dir_color = "cyan"
file_color = ""
symbol_color = "bright green"
tree_color = ""
grep_pass_color = "bright green"
grep_match_color = "bright red"
[path_config]
default_repo = "<Your Home>/.password-store"
repos = ["<Your Home>/.password-store"]
[executable_config]
pgp_executable = "gpg2"
editor_executable = "vim" # "notepad" on Windows
git_executable = "git"
Currently, only powershell is supported for command line completion. We are working on adding support for bash, zsh and fish in the future.
Run the following command to download the latest ParsCompletion module to your local machine:
$documentsPath = (Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders').Personal
$documentsPath = [Environment]::ExpandEnvironmentVariables($documentsPath)
$modulePath = Join-Path $documentsPath "PowerShell\Modules\ParsCompletion"
# make sure the module path exists
if (-Not (Test-Path $modulePath)) {
Write-Host "Creating module directory at $modulePath"
New-Item -Path $modulePath -ItemType Directory -Force | Out-Null
}
$files = @(
@{
Url = "https://raw.githubusercontent.com/vollate/pass-store-rs/refs/heads/main/completion/pwsh/ParsCompletion.psm1"
Path = Join-Path $modulePath "ParsCompletion.psm1"
},
@{
Url = "https://raw.githubusercontent.com/vollate/pass-store-rs/refs/heads/main/completion/pwsh/ParsCompletion.psd1"
Path = Join-Path $modulePath "ParsCompletion.psd1"
}
)
# Download the files
foreach ($file in $files) {
Write-Host "Downloading $($file.Url) ..."
Invoke-WebRequest -Uri $file.Url -OutFile $file.Path -UseBasicParsing
Write-Host "Saved to $($file.Path)"
}
Then, run "Import-Module ParsCompletion" >> $PROFILE to enable the module.
We welcome contributions of all kinds — from simple bug reports and typo fixes to major new features. Open an issue or pull request on our GitHub repository to get started.
If you encounter any issues, please report them on our GitHub Issues page. When reporting a bug, please provide as much detail as possible to help us understand and reproduce the issue. This includes:
PARS_LOG_LEVEL=Debug to get more logs, remember to remove any sensitive information before sharing!pars exits abnormally, set up the environment variable PARS_LOG_LEVEL=Debug and RUST_BACKTRACE=1 to get the backtrace, and share it with us. Remember to remove any sensitive information before sharing!