Added the scaffolding

This commit is contained in:
Connor Johnstone
2026-03-17 13:55:42 -04:00
parent cf95c520a0
commit fb05e2d5c0
39 changed files with 944 additions and 0 deletions

41
readme.md Normal file
View File

@@ -0,0 +1,41 @@
# 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
```sh
cargo build --workspace
```
## Testing
```sh
cargo test --workspace
```
## License
MIT