| Crates.io | curator_cli |
| lib.rs | curator_cli |
| version | 0.3.5 |
| created_at | 2025-08-12 01:36:21.94793+00 |
| updated_at | 2025-08-16 02:39:39.504777+00 |
| description | A versatile CLI tool for project management |
| homepage | https://github.com/Saturnyx/curator |
| repository | https://github.com/Saturnyx/curator |
| max_upload_size | |
| id | 1791259 |
| size | 147,525 |
A powerful command-line tool for managing project licenses and configuration with smart license detection and interactive setup.
git clone https://github.com/Saturnyx/curator.git
cd curator
cargo build --release
The binary will be available at target/release/curator (or curator.exe on Windows).
Method 1: Install directly from crates.io
cargo install curator_cli
Method 2: Install from the repository
git clone https://github.com/Saturnyx/curator.git
cd curator
cargo install --path .
Curator uses the command alias cu for convenience.
Before using license management features, initialize your project configuration:
cu config set
This will prompt you for:
curator.json to .gitignoreDownload and configure a license for your project:
cu license set MIT
cu license set apache-2.0
cu license set GPL-3.0
If you make a typo, Curator will suggest similar license names:
cu license set ap
# License 'ap' not found in SPDX list. Please try again.
# Did you mean:
# 1. Apache-2.0
# 2. APSL-2.0
# 3. APL-1.0
Remove the current LICENSE file:
cu license remove
Reload the license from your configuration (useful after updating project details):
cu license reload
The project configuration is stored in curator.json:
{
"data": {
"year": "2025",
"license": "MIT",
"copyright holders": "Your Name"
},
"settings": {
"path": "/path/to/your/project",
"author": "Your Name",
"project": "project-name"
}
}
To update your project configuration:
cu config set
<year>, <copyright holders> with your configuration data.gitignore entries for configuration filesCurator is built with a modular architecture:
main.rs: CLI interface using clap for argument parsingconfig.rs: Configuration management and project initializationlicense.rs: License fetching, processing, and managementtools.rs: Utility functions including fuzzy searchlib.rs: Library interface for external useclap: Command-line argument parsingreqwest: HTTP client for fetching licensesserde_json: JSON serialization for configurationdialoguer: Interactive promptsfuzzy-matcher: Fuzzy string matching for license suggestionscrossterm: Cross-platform terminal stylingchrono: Date handling for copyright yearsContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change. For more information, please check the CONTRIBUTING.md file.
cargo testcargo buildcargo run -- --helpThis project is licensed under the MIT License - see the LICENSE file for details.