mihra is a powerful, asynchronous command-line interface (CLI) tool developed in Rust. Designed to interact with the file system, possibly external APIs, and provide a feature-rich, interactive user experience.
Based on dependencies, mihra can include the following features:
-
Robust Command-Line Interface: Utilizes
clapandinquirefor a complete and interactive CLI user experience. -
File System Operations: Ability to browse, monitor (with
notify), and manipulate files and directories (withwalkdirandignore). -
Network Connectivity: Can make HTTP requests to interact with remote APIs or services (with
reqwestandtokio). -
Data Processing: Support for JSON serialization/deserialization (with
serdeandserde_json). -
Differences and Comparisons: Ability to compare content (with
similar). -
Text Processing: Support for regular expressions (with
regex). -
Styled Output: Uses
coloredandcrosstermfor rich, colored terminal output, andindicatiffor progress bars. -
Flexible Configuration: Loading environment variables via
.envfile (withdotenvy). -
UUID Generation: Creation of unique identifiers (with
uuid).
To install mihra on your system, follow the steps below:
- Clone the repository:
git clone https://github.com/your-username/mihra.git
cd mihra(Assuming a git repository, replace your-username/mihra.git with the correct path if it is different.)
- Build and install:
Run the provided build script. This script will compile the project in release mode and install it in /usr/local/bin/mihra, making the mihra command globally available. It also copies the .env file to the installation directory.
sh build.shYou may need superuser permissions (sudo) to move the files to /usr/local/bin.
After installation, you can run mihra from your terminal.
mihra [command] [options]
mihra --helpmihra uses a .env file to manage configurations. Make sure the .env file is present in the installation directory (/usr/local/bin/mihra) with the necessary environment variables.
GOOGLE_API_KEY=your_api_key_hereThis was a project I did for personal purposes, but it ended up becoming an interesting challenge to learn more about Rust and CLI development in Rust. This project is open to anyone who wants to use it.