thanks for the catch, what we meant is that we’re not committing to strict stability guarantees yet, so APIs may still change as we iterate toward 1.0.
This looks useful. But, it's interesting how the backend-world and front-end world keep diverging. I must admit, I had no idea what this was from the title. "CLI framework"? But in backend-land, these would typically be called "argument parsers" or "command line argument parsers". But maybe I am missing some of the functionality.
we’re using “framework” intentionally because it goes beyond argument parsing. crust handles parsing, but also:
type inference across args + flags end to end
compile-time validation (so mistakes fail before runtime)
plugin system with lifecycle hooks (help, version, autocomplete, etc.)
composable modules (prompts, styling, validation, build tooling)
auto-generates agent skills and modules from the CLI definitions
so it sits a layer above a traditional arg parser like yargs or commander, closer to something like oclif, but much lighter and bun-native.
> Versions before 1.0 do not strictly follow semantic versioning.
Sorry for being nitpicky, but yes they do. Semantic versioning[0] allows arbitrary changes while the major version is 0:
> Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.
[0]: https://semver.org/
thanks for the catch, what we meant is that we’re not committing to strict stability guarantees yet, so APIs may still change as we iterate toward 1.0.
I understand, but that's already implied by a 0.y.z version number.
This looks useful. But, it's interesting how the backend-world and front-end world keep diverging. I must admit, I had no idea what this was from the title. "CLI framework"? But in backend-land, these would typically be called "argument parsers" or "command line argument parsers". But maybe I am missing some of the functionality.
good point.
we’re using “framework” intentionally because it goes beyond argument parsing. crust handles parsing, but also:
type inference across args + flags end to end compile-time validation (so mistakes fail before runtime) plugin system with lifecycle hooks (help, version, autocomplete, etc.) composable modules (prompts, styling, validation, build tooling) auto-generates agent skills and modules from the CLI definitions
so it sits a layer above a traditional arg parser like yargs or commander, closer to something like oclif, but much lighter and bun-native.
Psst, the GitHub link in your post is broken (it should be https://github.com/chenxin-yan/crust).
thanks for flagging! the post itself works, just the link at the bottom
nice, congrats on launch. To get an idea... what's the size of a standalone hello world cli binary?
this is cool! i'd recommend fleshing out the README. Clicked on the link before the discussion and was a tad confused.
will fix in the next hour!
Is there an examples section? Would be helpful to see a demo
one of the examples would be trynia.ai (search and index api for ai agents)
here is github: github.com/nozomio-labs/nia-cli