Bruh Moment: When Agentic Tooling Gets Too Real
Sometimes the best feature of a developer tool is knowing when to stop taking itself seriously.
The Tool
I built bruh — a lightweight developer assistant that runs in your terminal. Think of it as a junior dev who:
-
Executes shell commands
-
Reads and writes files
-
Maintains context across a conversation
-
Doesn’t judge your 3am code
It uses Claude via fluency.js (unified LLM interface, because vendor lock-in is for email addresses, not AI models).
The Journey
Original name: dyad-agent
Philosophy: Clean, professional, technically descriptive
Current name: bruh
Philosophy: It’s 2026. We’re all tired. Let’s be real.
The rename happened mid-development when someone suggested it as a joke, and I realized: developer tools don’t need to sound like enterprise software. They need to sound like the conversations developers actually have.
npm install -g bruh bruh "help me debug this webpack config"
That’s it. No dyad-agent init --config ceremony. Just bruh and a problem.
What Makes It Different
1. Actually lightweight
-
One dependency: fluency.js
-
~200 lines of core logic
-
No bloated framework baggage
2. Bring your own model
-
Works with Claude, GPT, Gemini, whatever
-
No hardcoded vendor assumptions
-
You control the keys and the costs
3. Context that doesn’t suck
-
Sliding window memory management
-
Automatic token estimation
-
Won’t blow your budget on ancient conversation history
4. Test coverage that exists
-
66 tests (17 for agent, 24 for context, 25 for tools)
-
Vitest because life’s too short for Jest’s ESM quirks
-
npm testactually passes
The Real Lesson
Building tools for developers is weird because you are the user. Every frustration you feel building it is a feature you need to fix.
If configuring your tool requires reading docs, the docs aren’t the problem — the tool is.
If running your tool feels like a chore, you’ve already failed.
If naming your tool makes you smile, you might be onto something.
Try It
npm install -g bruh export ANTHROPIC_API_KEY="your-key" bruh "what's the weather like?"
More serious documentation exists, despite the name.
Built with Claude. Tested with Vitest. Named with zero regrets.