8 releases
new 0.2.11 | Mar 25, 2025 |
---|---|
0.2.10 | Dec 9, 2023 |
0.2.5 | Aug 30, 2022 |
0.2.2 | Jul 31, 2022 |
0.1.4 | Jan 12, 2022 |
#317 in Development tools
53KB
1K
SLoC
shellfirm
Opppppsss you did it again? 😱 😱 😰
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)
How does it work?
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.
Example
Setup your shell
Install via brew
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
shellfirm --version
Verify installation
mkdir /tmp/shellfirm
cd /tmp/shellfirm
git reset --hard
Select your shell
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):
plugins=(... shellfirm)
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.# Download bash-preexec hook functions.
Dependencies
~11–22MB
~334K SLoC