Envoy is a lightweight, background utility that logs your terminal commands. It's designed to be a simple and unobtrusive way to keep a history of your shell usage, which can be useful for debugging, tracking work, or just remembering what you did.
The readme uses history so surely the author knows this?
function preexec_go() {
local command_line=$(history 1 | sed 's/^ *[0-9]* *//')
if [[ -n "$command_line" && "$command_line" != "preexec_go" ]]; then
# CHANGE THIS PATH to the location of your 'envoy' executable
(
~/Desktop/projects/envoy/envoy "$command_line" >/dev/null 2>&1 & ) disown
fi
}
trap 'preexec_go' DEBUG
I think the point isn't what the author knows or does not know but rather a question for the rest of us - what does this tool offer that bash history doesn't?
The list of features on the Github page doesn't provide an answer:
- Starts and stops on demand: Only logs commands when you explicitly turn it on.
- Saves to a custom file: You can specify the log file name.
- Cross-platform: Works on both Linux and macOS using bash or zsh.
- Minimal overhead: Runs in the background and has no noticeable impact on shell performance.
In charity, I think there is actually a product opportunity for improvements to the standard shell histfile.
I've often been frustrated by my history not being easily shared between concurrent terminals, difficulties in searching, and lack of other metadata such as timestamp, duration and exit code.
Although I suspect this repo was vibe-coded so far, I think there's a promising problem to solve here.
Not at my computer so I cannot share the sauce, but each mahcine I use has a shared bash eternal history - shared between every interactive bash instance on that machine, using nothing but bashisms.