Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
bash-timestamping-sqlite
bash commandline timestamping using a sqlite database for personal analytics, activity logging and auditing
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
The article briefly mentions atuin at the end. I've tried atuin but found it a little bit too heavyweight for me - instead I use zsh-histdb[0] (together with the fzf extension for it[1]) which allows you to easily answer this type of question - can highly recommend it.
0. https://github.com/larkery/zsh-histdb
1. https://github.com/m42e/zsh-histdb-fzf
The article briefly mentions atuin at the end. I've tried atuin but found it a little bit too heavyweight for me - instead I use zsh-histdb[0] (together with the fzf extension for it[1]) which allows you to easily answer this type of question - can highly recommend it.
0. https://github.com/larkery/zsh-histdb
1. https://github.com/m42e/zsh-histdb-fzf
> my history is so noisy I had to find another way
The fzf search syntax can help, if you become familiar with it. It is also supported in atuin [2].
[1]: https://github.com/junegunn/fzf#search-syntax
[2]: https://docs.atuin.sh/configuration/config/#fuzzy-search-syn...
Prefixing these utility scripts is a nice tip, I used to do that as well.
Some time ago I found https://github.com/ianthehenry/sd though. It's a light wrapper around your own scripts which provides namespaces, autocompletion, custom help texts + some other QoL enhancements around that. It improves discoverability and usability a lot, very happy with it.
We have a lot in common :-P except I'm still on bash, and do rely on PROMPT_COMMAND like you mentioned -- https://github.com/9001/asm/blob/hovudstraum/etc/profile.d/e...
Lines 11-21 can be ignored, they detect if the folder you were in got moved/deleted from another shell, to avoid the confusing behavior you get in that case.
> Should be doable with bash's PROMPT_COMMAND if you are still on bash
Already done, with a sqlite backend: https://github.com/csdvrx/bash-timestamping-sqlite
> When a command has some cognitive requirements I create a script with some ${1:-default} values and I store them all in $PATH enabled local/bin
I would consider using just for this:
https://github.com/casey/just