9 karma · joined February 10, 2026
agentd gives agents a persistent remote shell. One connection, stateful commands. cd works. Env vars stick. No daemon on the remote, no new ports, just SSH underneath.
Written in Go. Also ships as a Claude Code plugin.
But it's also a full standalone CLI, interactive inbox with j/k navigation, inline compose with a multiline editor, search, archive, star, trash. Sends clean HTML so emails look normal.
The reason I built it: Resend just dropped their CLI and I realized there's no modern Gmail CLI. The existing npm package is 8 years old and dead.
npm install -g @mrprincerawat/gmail-cli
Uses your own Google Cloud OAuth. Tokens stay on your machine.
when everyone around you is shipping in hours what used to take weeks, the pressure to keep up changes how you approach things. you know the answer is one prompt away. that changes your brain. it's like saying you can still use a paper map when GPS exists, technically true, but you won't, and you know it.
the post isn't about going back. it's about acknowledging that something shifted in how we learn by building.
kanly is the opposite of a framework. you write plain python functions. you define an agent with one api call. you trigger runs from webhooks or cron or wherever. the llm loop runs on the server and your tools execute on your machine over websocket.
whatever you want to build you just write the handler functions for it. bug fixer, deploy bot, alert triage at 3am. kanly just runs the loop and calls your code.
the only real design decision was that the llm should never directly execute anything. every tool call goes through a runtime on your machine. cli commands can require human approval before running. credentials never leave your infra.
2k lines of python. mit licensed. works with any openai compatible model.
For small projects, the existing options felt like overkill (vaults, external services, team setup), so I wanted something that:
- keeps the .env workflow intact - doesn’t depend on any external service - is simple enough that I’d actually use it every time
Dotlock just encrypts your .env with a passphrase so it’s safe to commit, and lets you decrypt it locally when needed.
I’m sure there are tools in this space (git-crypt, sops, etc.), so I’m curious where this feels redundant vs actually useful — especially for solo devs / small teams.
Would love honest feedback.