How do I save myself from myself?
rm -rf *
git reset --hard
Before hitting the enter key?kubectl delete ns
Stop! you are going to delete a lot of resources- And many more!
Do you want to learn from other people’s mistakes?
shellfirm
will intercept any risky patterns and immediately prompt a small challenge that will double verify your action, think of it as a captcha for your terminal.
rm -rf / ####################### # RISKY COMMAND FOUND # ####################### * You are going to delete everything in the path. Solve the challenge: 8 + 0 = ? (^C to cancel)
shellfirm
will evaluate all the shell commands behind the scenes.
If a risky pattern is detected, you will immediately get a prompt with the relevant warning to verify your command.
brew tap kaplanelad/tap && brew install shellfirm
Or download the binary file from releases page, unzip the file and move to /usr/local/bin
folder.
Validate shellfirm installation
mkdir /tmp/shellfirm
cd /tmp/shellfirm
git reset --hard
Oh My Zsh
Download zsh plugin:
curl https://raw.githubusercontent.com/kaplanelad/shellfirm/main/shell-plugins/shellfirm.plugin.oh-my-zsh.zsh --create-dirs -o ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/shellfirm/shellfirm.plugin.zsh
Add shellfirm
to the list of Oh My Zsh plugins when Zsh is loaded(inside ~/.zshrc):
Bash
Bash implementation is based on https://github.com/rcaloras/bash-preexec project, which adds a pre-exec hook to catch the command before executing.
curl https://raw.githubusercontent.com/kaplanelad/shellfirm/main/shell-plugins/shellfirm.plugin.fish -o ~/.config/fish/conf.d/shellfirm.plugin.fish