Back to News
Advertisement
kkamaludu about 2 hours ago 9 commentsRead Article on github.com
Bash4LLM is a single-file Bash wrapper for interacting with LLMs from the terminal. I created it because I wanted something simple that worked without installing Python, Node, or any other runtime.

It uses only Bash, curl, and jq. You can send prompts, start a small chat, process files line by line, stream output, and save session metadata in JSON format.

I tried to make it safe and predictable: no use of the system /tmp, no use of eval. Groq is supported by default, and other providers can be added with dedicated Bash scripts in the extras/providers/ folder.

Example:

  echo "explains the command: ls -l" | ./bash4llm
Advertisement

⚑ Community Insights

Discussion Sentiment

56% Positive

Analyzed from 312 words in the discussion.

Trending Topics

#write#bash#file#code#single#need#why#posting#hard#seems

Discussion (9 Comments)Read Original on HackerNews

Chu4eenoβ€’about 2 hours ago
You really should either just write it manually, or at least clean it up, 5kLOC of bash for POSTing and reading/writing files is a bit overkill (the code is extremely repetitive, verbose and just hard to follow).
porridgeraisinβ€’5 minutes ago
I agree. What is with the random precore/core stuff anyways. But on the flip side, this thing seems to be doing a lot. I chugged through a couple thousand lines and there seems to be some amount of context management, I saw mentions of a history file, attachments, etc.
kamaluduβ€’about 1 hour ago
Yes, the code is big and bulky, i know. But i am a single person, not a team. I write simple and clear for me, because i need to mantain it. Only Bash, zero dependencies, i like this.

thank you for your comment!

Tiberiumβ€’33 minutes ago
> I write

You mean the LLM writes the code based on your instructions (that's fine, I guess, but 5KLOC is huge for this kind of script).

SupLockDefβ€’29 minutes ago
Why are you posting this if you know it is of poor quality then?

It's certainly not because you are proud of yourself, it has been generated.

So I genuinely wonder why?

kamaluduβ€’about 1 hour ago
well, i write Bash4LLM to be:

. Portable - You need only: bash, coreutils, findutils, util-linux, gawk, curl, jq. No Python (slow), no Node (heavy), no Golang (need too many binaries, one for each OS, hard to maintain for one single person like me).

. Single file - only one. I write many extras, but all are optional.

. Idempotent - you copy it where you want and go!

. Transparent - open the file and read.

. Extras for all, and all optional: help file, extra providers, improved session engine, small GUI/CGI, etc...

Default (embedded) provider is Groq, because when I start the project, was the best free API service for AI.

I'm ready to answer to your question... with my terrible english...

Cristian (kamaludu)

dezgegβ€’31 minutes ago
Have you actually tested the portability? MacOS ships an ancient bash version and neither mac or BSDs use GNU version of coreutils.

I'm also very doubtful performance of this would be faster than python, bash is very slow.

ifh-hnβ€’about 11 hours ago
Why is this flagged?
dangβ€’about 2 hours ago
The text got classified as genai, which is not allowed on HN itself - see https://news.ycombinator.com/newsguidelines.html#generated and https://news.ycombinator.com/item?id=47340079.

We invited the user to rewrite it and I've moved that text to the top now, and re-upped the post so it gets its full time on /newest.