Why we are building Cliva
Cliva started from a simple problem: most of the tools we want to build at Nexment are command-line tools, and we wanted a CLI library made for the way we build them.
It started with our own tools
A lot of Nexment projects are built around the terminal. We like CLI tools because they are fast, simple, and work well for developers.
But while building these tools, we kept running into the same problems.
- Handling commands and arguments
- Creating useful terminal output
- Making prompts feel consistent
- Showing errors and status messages clearly
- Keeping CLI code clean and easy to understand
We wanted something made for us
Instead of solving the same problems again for every project, we decided to build a library that we could use across Nexment.
That library became Cliva.
The goal is not to make every CLI look the same. The goal is to give us simple building blocks that make our tools easier to build and maintain.
What Cliva helps us with
Cliva brings common CLI functionality into focused and reusable crates.
- cliva helps with commands, arguments, options, flags, subcommands, and parsing.
- cliva-io helps with terminal input, output, prompts, status messages, formatting, and other terminal interactions.
They can be used together or separately. This keeps our projects from depending on functionality they do not need.
Built for the Nexment ecosystem
Cliva is mainly being built because we need it ourselves.
As Nexment grows, we expect more projects to use the terminal. Having a common toolkit means we can spend less time rebuilding basic CLI functionality and more time working on the actual tools.
At the same time, Cliva is not limited to Nexment. We want it to be useful for anyone building Rust command-line applications.
Starting small
Cliva is still under development. We are starting with the problems we actually have and building from there.
We do not want to add features just because a CLI library can have them. Every part should have a reason to exist and should make CLI development a little simpler.
That is the reason Cliva exists: we needed a better foundation for our own command-line tools, so we decided to build one.