๐ Librius
Librius โ A fast, minimalist CLI to manage your personal book collection, built in Rust.
๐งพ Overview
Librius is a cross-platform command-line tool written in Rust that helps you manage your personal library.
It uses a SQLite database to store your books and a simple TOML configuration file for flexible setup.
This project aims to provide a clean, modular architecture with future extensions such as search, add/remove commands, and import/export support.
โ๏ธ Features
| Status | Feature | Description |
|---|---|---|
| โ | List | Display all books stored in the local database |
| โ | Config auto-init | Creates default librius.toml config file in ~/.config/librius/ |
| ๐ง | Add / Remove | Add or delete books via CLI commands |
| ๐ง | Search | Search by title, author, or ISBN |
| ๐ง | Export / Import | Export and import data (JSON, CSV) |
๐๏ธ Architecture
๐ Quick start
1๏ธโฃ Clone the repository
2๏ธโฃ Build and run
If this is the first launch, Librius will automatically create:
- The config file at
~/.config/librius/librius.toml - A SQLite database at
~/.config/librius/librius.db
๐งฉ Example output
$ librius list
๐ Your Library
- The Hobbit (J.R.R. Tolkien) [1937]
- Foundation (Isaac Asimov) [1951]
- Dune (Frank Herbert) [1965]
โ๏ธ Configuration
The default configuration file is stored at:
Linux/macOS:
~/.config/librius/librius.toml
Windows:
%APPDATA%\librius\librius.toml
Example:
๐ Documentation
The API and user-facing documentation for Librius is available on docs.rs:
- Online: https://docs.rs/librius
To generate and view the documentation locally run:
This will build the documentation and open it in your default browser.
๐งฐ Dependencies
clap โ Command-line argument parsing rusqlite โ SQLite database serde โ Serialization/deserialization toml โ Config format support colored โ Colored terminal output
๐งช Development
Run in debug mode
Run with logging (future)
RUST_LOG=debug
Format and lint
๐งฑ Future roadmap
- Add
add,remove, andsearchcommands - Export/import JSON and CSV
- Add optional TUI (Text UI) with
ratatui - Multi-language support (English/Italian)
- Web dashboard sync
๐งโ๐ป Author
Umpire274 GitHub: @umpire274
๐ License
This project is licensed under the MIT License โ see the LICENSE
โญ Contribute
Contributions, feature requests, and ideas are welcome! If youโd like to contribute, please open a pull request or start a discussion.
๐งก Support
If you enjoy this project, please โญ star the repository โ it helps visibility and development motivation!