d4d26864e6a40eb603c70909805e2edbbbc664a7
shanty
A modular music management application for the high seas. Shanty aims to be a better all-in-one solution for managing, tagging, organizing, and downloading music — built as a collection of standalone tools that work together seamlessly.
Architecture
Shanty is organized as a Cargo workspace. Each component is its own crate, usable both as a library and (where applicable) a standalone CLI binary.
| Crate | Description |
|---|---|
shanty-db |
Shared database schema and access layer |
shanty-index |
Music file indexing and metadata extraction |
shanty-tag |
Metadata tagging via online databases |
shanty-org |
File organization and renaming |
shanty-watch |
Library watchlist management |
shanty-dl |
Music downloading (yt-dlp and more) |
shanty-search |
Online music search |
shanty-notify |
Notifications for new releases and events |
shanty-playlist |
Playlist generation |
shanty-serve |
Music serving and streaming |
shanty-play |
Built-in playback |
shanty-web |
Web interface backend (Actix) with Elm frontend |
Building
cargo build --workspace
Testing
cargo test --workspace
License
MIT
Description
Languages
Rust
98.3%
Dockerfile
1.4%
Just
0.3%