Pay Respects
Typed a wrong command or don't know what to do? Pay Respects will suggest a fix to your console command by simply pressing F!
- đ Blazing fast suggestion: You won't notice any delay for asking suggestions!
- đ¯ Accurate results: Suggestions are verified before being prompted to the user, no
sudosuggestions when you are usingdoas! - âī¸ Easy to write rules: You don't need to know Rust. The rules are written in a TOML file!
- đŠ Modular: TOML not your taste? Add sources using your favorite language with a custom module!
- đ¤ AI Support: AI module comes in aid when there is no rule for your error!
- đĒļ Tiny binary size: Not even 1MB for core features!

How to Pay Respects
Please follow the instruction for your shell:
Append the following line to your configuration file (
--aliasno longer required for v0.7+):|Arguments:
--alias [alias]: Alias to a custom key, defaults tof--nocnf: Disablescommand_not_foundhandler
Manual aliasing (REMOVED after v0.7):
Add the following output to your configuration file:
Or save it as a file:
|and source from your config file:
Append the following output to your profile:
pay-respects pwsh --alias [<alias>]
Or directly pipe the output to your profile:
pay-respects pwsh --alias [<alias>] >> $PROFILE
pay-respects only requires 2 environment variables to function:
_PR_SHELL: The binary name of the current working shell._PR_LAST_COMMAND: The last command.pay-respects echos back, if applicable, a
cdcommand that can be evaluated by the current working shell.
General example:
Following variables are not required, but can be used to reduce unnecessary operations:
_PR_ALIAS: A list of aliases to commands. Separated by newlines with zsh-like formatting, e.g.gc=git commit_PR_ERROR_MSG: Error message from the previous command.pay-respectswill rerun previous command to get the error message if absent_PR_EXECUTABLES: A space separated list of commands/executables.pay-respectswill search for$PATHif absent
_PR_LIB: Directory of modules, analogous toPATH. If not provided, search inPATHor compile-time provided value._PR_PACKAGE_MANAGER: Use defined package manager instead of auto-detecting alphabetically
You can specify different modes to run with
_PR_MODE:
noconfirm: Execute suggestions without confirmecho: Print suggestions tostdoutwithout executingcnf: Used for command not found hookExample usage with
noconfirm:
You can now press F to Pay Respects!
Installing
Install from your package manager if available:
OS / Distribution Repository Instructions Arch Linux AUR paru -S pay-respects(-bin)Arch Linux (ARM) Arch Linux CN sudo pacman -S pay-respectsMacOS / Any timescam brew install timescam/homebrew-tap/pay-respectsNixOS / Any nixpkgs nix-env -iA nixos.pay-respects
Alternatively, install pre-built binaries from GitHub releases. An install script is available:
|
This installation requires you to have Cargo (the Rust package manager) installed.
Install from crates.io, modules are optional
Clone from git and install, suitable for adding custom compile-time rules:
Rules & Modules
See the following pages:
AI Integration
Disclaimer: You are using AI generated content on your own risk. Please double-check its suggestions before accepting.
AI suggestions should work out of the box with request-ai module installed.
An API key is included with the source (your distribution might have stripped them out). It should always work unless I can no longer afford this public service or rate limits are reached. If it's useful to you, please share this project and spread the word. Also consider making a donation to keep its public usage alive:
AI usages and API configurations
Contributing
Current option to write rules should cover most of the cases.
We need more rule files, contributions are welcomed!
Also see development status for contribution opportunities.
This project is hosted at various sites, choose the one that suits you best:
Licenses
- Binaries: AGPL-3.0
- Core and modules
- Libraries: MPL-2.0
- Parser and utils