4 ms·
Batteries Included CLI Framework
I've been looking for a "batteries included" CLI framework that besides the usual argument and flag parsing also provides telemetry, auth, release pipeline, testing utils, ... but couldn't find anything like that.
As CLIs are becoming more popular it seems that these problems will be more and more common. Is anyone aware of a service that provides those features out-of-the-box? I'm thinking about something like stainless.com but for CLIs instead of SDKs.
- ejkrkevjgkf 5mo ago[flagged]
- ejkrkevjgkf 5mo ago[flagged]
- maxalbarello 5mo agocan you provide a bit more info?
- ejkrkevjgkf 5mo ago[flagged]
- slurpyb 5mo agoTyper.
- ilbert 5mo agoThat's a good framework and I like that the creator took the same design choices as the FastAPI framework. Although I think a type-safe language is a better fit for CLIs, to let coding agents iterate faster and have less runtime bugs (help messages not updated, unknown flags, etc.)
- mdonnalley 5mo agoI would recommend oclif if you're using node It has pretty much everything you're looking for. Feel free to ask me any question. I maintained the project for several years
- maxalbarello 5mo agoThanks a lot for your work on oclif! What I was looking for is something like a framework + service. Imagine the equivalent of netx.js + vercel but for CLIs instead of for full stack apps. oclif seems to be only a great framework afaik. as usage of CLIs increases I wonder whether there will be a need for a service that provides everything that developers of CLIs need (auth, telemetry, releases, ...). Something like what Vercel is today for full stack apps. Are you aware of anything along those lines?
- udugadoqehale 5mo agoThere are some options but it depends on your language/stack. If your stack is Go, you can try cobra-cli, but I think you will need to wire auth yourself. For Node, Oclif for sure! Covers plugins, auto-update, and some telemetry hooks... I think the closest thing that you are looking for.
- maxalbarello 5mo agothe telemetry hooks and the rest is great but i'm wondering why there isn't a service that takes care of all of this. seems to be a problem that everyone building CLI has
- grugdev42 5mo agoWhat language(s) are you comfortable using?
- maxalbarello 5mo agorust, python and typescript mostly
- ilbert 5mo agoI've noticed that the TypeScript ecosystem around CLIs is fragmented, and for that reason (and because I love type-safe code), I've built parsh. It's extensible by design, and you can test single commands atomically. I think there's a good opportunity for it to become the Next.js/Vercel of CLIs. Repo: https://github.com/ilbertt/parsh https://github.com/ilbertt/parsh