@mdlx/cli 0.0.16 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,113 @@
1
+ # mdl MusicDownLoader
2
+
3
+ `mdl` is MusicDownLoader, a terminal music downloader for people who want to sync music locally.
4
+
5
+ Paste a URL, and the tool resolves music metadata, searches YouTube for matches, and downloads tracks. It stores a local sync manifest so future runs can reconcile the folder instead of starting over.
6
+
7
+ ![mdl](https://github.com/user-attachments/assets/796efc3b-9512-4d1c-9377-c51b89aa9437)
8
+
9
+
10
+ ## Provider support
11
+
12
+ Recognized providers:
13
+
14
+ - Spotify
15
+ - Apple Music
16
+ - Amazon Music
17
+ - YouTube Music
18
+ - SoundCloud
19
+ - Bandcamp
20
+ - Qobuz
21
+ - Deezer
22
+ - Tidal
23
+
24
+ Current implementation status:
25
+
26
+ - Music metadata import is attempted for every provider listed above.
27
+ - Spotify still has the most direct/robust metadata path in the current implementation.
28
+ - Audio downloads currently come from YouTube matches for all supported flows.
29
+
30
+ ## Why use it
31
+
32
+ - Interactive CLI
33
+ - Links work without API keys, we query via public urls
34
+ - Downloads are grouped into a music name directory
35
+ - A `.mdl.json` manifest is written next to the files for resyncs
36
+ - Metadata is resolved directly from the music URL
37
+ - Audio is currently sourced from YouTube
38
+
39
+ ## Install
40
+
41
+ `ffmpeg` must already be installed and available on your `PATH`.
42
+
43
+
44
+ ### NPM/BUN/PNPM
45
+
46
+ ### Globally
47
+ ```bash
48
+ npm install --global @mdlx/cli
49
+ bun install --global @mdlx/cli
50
+ pnpm install --global @mdlx/cli
51
+
52
+ ```
53
+
54
+ #### Execute directly
55
+ ```bash
56
+ npx @mdlx/cli
57
+ bunx @mdlx/cli
58
+ pnpx @mdlx/cli
59
+ ```
60
+
61
+ ### Homebrew (COMING SOON)
62
+
63
+ ```bash
64
+ brew install mdl
65
+ ```
66
+
67
+ ### Manual
68
+
69
+ Download the archive for your platform from the project's Releases page, extract the binary, and move it somewhere on your `PATH`.
70
+
71
+ ```bash
72
+ chmod +x mdl
73
+ mv mdl /usr/local/bin/mdl
74
+ mdl --help
75
+ ```
76
+
77
+ ## Usage
78
+
79
+ Run the interactive CLI:
80
+
81
+ ```bash
82
+ mdl
83
+ ```
84
+
85
+ Pass a playlist URL directly:
86
+
87
+ ```bash
88
+ mdl "https://open.spotify.com/playlist/..."
89
+ ```
90
+
91
+ Choose a base output directory:
92
+
93
+ ```bash
94
+ mdl "https://open.spotify.com/playlist/..." --output ./music
95
+ ```
96
+
97
+ Control how many tracks download in parallel:
98
+
99
+ ```bash
100
+ mdl "https://open.spotify.com/playlist/..." --parallel 5
101
+ ```
102
+
103
+ Choose the extracted audio format and quality:
104
+
105
+ ```bash
106
+ mdl "https://open.spotify.com/playlist/..." --format m4a --bitrate 192K
107
+ ```
108
+
109
+ CLI help:
110
+
111
+ ```bash
112
+ mdl --help
113
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mdlx/cli",
3
- "version": "0.0.16",
3
+ "version": "0.0.19",
4
4
  "description": "Interactive CLI for syncing music locally via YouTube.",
5
5
  "type": "module",
6
6
  "author": "Labithiotis",