Skip to content
lasantosr

lasantosr/intelli-shell

IntelliShell is a powerful command template and snippet manager for your shell.

Like IntelliSense, but for shells

1.2k 7 since joining 19RustPush 1mo agoListed 9d ago4 open issuesApache-2.0

lasantosr.github.io/intelli-shell/

autocompletebashbookmarkclicommand-linefishproductivityrust
  • Rust93.4%
  • Shell4.0%
  • PowerShell1.5%
  • Nushell0.5%
  • Dockerfile0.3%
  • Nix0.3%
View on GitHub

Report a problem

2 Reviews

safiyusafiyu3d ago

this reminds me of my messup in early days of my career. the guy who built the data pipelines left for vacation and i was tasked to run it in his absence. but the guy never documented the process. all he said was watch how i do it today and you will understand the process. It was clear. but what je didn't tell was there was 2 flows. 1 for full run and another for delta. i just know the delta flow and i ran it. it's was a catastrophe. if only i had this intellishell back then which told me hey this is dangerous and there is a second command.. i assume something like this will have helped right? # Clean re-trigger starts fresh, always safe pipeline trigger --service {{service-name}} --clean #deploy #safe # Resume in-place. only if the pipeline stopped cleanly pipeline trigger --service {{service-name}} --resume #deploy #dangerous

What Works Well The TLDR integration alone justifies the install. One command pulled in 21,178 community-vetted templates, which means you actually have something useful to search on day one, before you've manually bookmarked anything. The export format is also genuinely good. It's plain text, human-readable, and structured in a way that makes sharing via Gist feel natural. Search modes are actually different from each other, which sounds obvious but isn't always true. auto picked up "find files" as intent and surfaced the right commands. regex matched ^ssh cleanly. relaxed found the curl HTTP checker from "http check." These aren't the same algorithm with different labels. Hashtags on descriptions (#devops, #git, #debug) let you filter your library without building a folder structure. It's a small thing but it works exactly how you'd want it to. The alias system is one of the nicer design choices. If your search matches an alias exactly, it resolves instantly with no UI. But if the command has {{variables}}, the replacement prompt still fires. That's the right call and it's not obvious to get right. Gaps and Concerns The fix command is a bit overpromised. Hit ctrl+x on a failing command with no AI configured and you get a hard error. There's no typo correction, no "did you mean commit?" Variable replacement only works interactively. If you try to run intelli-shell replace "ssh {{user}}@{{host}}" from a script or pass values via flags, it errors out. That's technically fine but it'll trip people up who find the CLI first and expect to pipe values through. The install script throws red errors on Windows even when everything succeeds. It's a $LASTEXITCODE reference before the variable is set, but new users are going to see red terminal output and assume something broke.

lasantosr
@lasantosr3d ago

Thanks for the honest review! Regarding the replace command on the cli, it should work if you pass in the values or allow to read it from the environment, as documented. Let me know with an issue if it's not working properly. Also, the install script was working fine, I'll test it again as soon as I get some time, but if you could open a bug report with the output that would be great!