A minimal, dependency-free CLI framework for Rust with typed flags and easy command handling.
Seahorse is a lightweight command-line interface (CLI) framework built in Rust that simplifies the creation of CLI applications. It provides a straightforward API for defining commands, flags, and actions without introducing external dependencies, focusing on minimalism and essential building blocks.
Rust developers who need to build simple to moderately complex CLI tools and value zero dependencies, type safety, and a clean, minimal API.
Developers choose Seahorse for its zero-dependency design, which keeps applications lightweight, and its type-safe flag parsing with support for Bool, String, Int, and Float types, offering a balance of simplicity and robustness.
A minimal CLI framework written in Rust
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Seahorse explicitly has no external dependencies, keeping binaries lightweight and dependency management simple, as emphasized in the README's features list.
Supports Bool, String, Int, and Float flags with type-safe parsing, reducing runtime errors and improving reliability, demonstrated in the flag processing examples.
Enables easy definition of single or multiple commands with aliases and descriptions, streamlining CLI organization, as shown in the multiple command application example.
Offers top-level error handling with custom error types, allowing for robust CLI applications, illustrated in the error handling example with action_with_result.
Only supports basic flag types (Bool, String, Int, Float), lacking built-in support for enums, lists, or custom parsers, which may require manual implementation.
Missing common features like shell completion, automatic help generation beyond descriptions, or colorized output, which are standard in more comprehensive frameworks.
Due to its minimal design, Seahorse has a smaller community and fewer third-party integrations or plugins compared to established alternatives like clap.