llm cmdcomp is better:

    - it puts the command in the shell editor line so you can edit it (for example to specify filenames using the line editor after the fact and make use of the shell tools like glob expansion etc.) 
    - it goes into the history. 
    - It can use a binding so you can start writing something without remembering to prefix it with a command and invoke the cmd completion at any place in the line editor. 
    - It also allows you to refine the command interactively.
I haven't see any of the other of the myriad of tools do these very obvious things.

https://github.com/CGamesPlay/llm-cmd-comp

Thanks. I guess it all depends on the perspective. I do not see how editing the command is a good tradeoff here in terms of complexity+UI. Once you get the command suggested by the LLM, you can quickly copy and modify it, before running it.

qqqa uses history - although in a very limited fashion for privacy reasons.

I am taking note of these ideas though, never say never!

> Once you get the command suggested by the LLM, you can quickly copy and modify it, before running it.

Copying and pasting tends to be a very tedious operation in the shell, which usually requires moving your hands away from the keyboard to the mouse (there are terminals which allow you to quick-select and insert lines but they are still more tedious than simply pressing enter to have the command on the line editor). Maybe try using llm-cmd-comp for a while.

> I do not see how editing the command is a good tradeoff here in terms of complexity+UI.

I don't find it a tradeoff, I think it's strictly superior in every way including complexity. llm-cmd-comp is probably the way I most often interface with llms (maybe second to basic search-engine-replacement) and I almost always either 1. don't have the file glob or the file names themselves ready (they may not exist yet!) at the time when I want to start writing the command or they are easier to enter using a fuzzy selector like fzf 2. don't want the llm to do weird things with globs when I pass them directly and having the shell expand them is usually difficult because the prompt is not a command (so the completion system won't do the right thing).

But even in your own demo it is faster to use llm-cmd-comp and you also get the benefit that the command goes into the history and you can optionally edit it if you want or further revise the prompt! It does require pressing enter twice instead of "y" but I don't find that a huge inconvenience especially since I almost always edit the command anyway.

Again, try installing llm-cmd-comp and try out your demo case.