···25252626program
2727 .command("login")
2828- .argument("<handle>", "Your BlueSky handle (e.g., <username>.bsky.social)")
2929- .description("Login with your BlueSky account and get a session token.")
2828+ .argument("<handle>", "your BlueSky handle (e.g., <username>.bsky.social)")
2929+ .description("login with your BlueSky account and get a session token.")
3030 .action(login);
31313232program
3333 .command("whoami")
3434- .description("Get the current logged-in user.")
3434+ .description("get the current logged-in user.")
3535 .action(whoami);
36363737program
3838 .command("nowplaying")
3939 .argument(
4040 "[did]",
4141- "The DID or handle of the user to get the now playing track for."
4141+ "the DID or handle of the user to get the now playing track for."
4242 )
4343- .description("Get the currently playing track.")
4343+ .description("get the currently playing track.")
4444 .action(nowplaying);
45454646program
4747 .command("scrobbles")
4848- .option("-s, --skip <number>", "Number of scrobbles to skip")
4949- .option("-l, --limit <number>", "Number of scrobbles to limit")
5050- .argument("[did]", "The DID or handle of the user to get the scrobbles for.")
5151- .description("Display recently played tracks.")
4848+ .option("-s, --skip <number>", "number of scrobbles to skip")
4949+ .option("-l, --limit <number>", "number of scrobbles to limit")
5050+ .argument("[did]", "the DID or handle of the user to get the scrobbles for.")
5151+ .description("display recently played tracks.")
5252 .action(scrobbles);
53535454program
5555 .command("search")
5656- .option("-a, --albums", "Search for albums")
5757- .option("-t, --tracks", "Search for tracks")
5858- .option("-u, --users", "Search for users")
5959- .option("-l, --limit <number>", "Number of results to limit")
5656+ .option("-a, --albums", "search for albums")
5757+ .option("-t, --tracks", "search for tracks")
5858+ .option("-u, --users", "search for users")
5959+ .option("-l, --limit <number>", "number of results to limit")
6060 .argument(
6161 "<query>",
6262- "The search query, e.g., artist, album, title or account"
6262+ "the search query, e.g., artist, album, title or account"
6363 )
6464- .description("Search for tracks, albums, or accounts.")
6464+ .description("search for tracks, albums, or accounts.")
6565 .action(search);
66666767program
6868 .command("stats")
6969- .option("-l, --limit <number>", "Number of results to limit")
7070- .argument("[did]", "The DID or handle of the user to get stats for.")
7171- .description("Get the user's listening stats.")
6969+ .option("-l, --limit <number>", "number of results to limit")
7070+ .argument("[did]", "the DID or handle of the user to get stats for.")
7171+ .description("get the user's listening stats.")
7272 .action(stats);
73737474program
7575 .command("artists")
7676- .option("-l, --limit <number>", "Number of results to limit")
7777- .argument("[did]", "The DID or handle of the user to get artists for.")
7878- .description("Get the user's top artists.")
7676+ .option("-l, --limit <number>", "number of results to limit")
7777+ .argument("[did]", "the DID or handle of the user to get artists for.")
7878+ .description("get the user's top artists.")
7979 .action(artists);
80808181program
8282 .command("albums")
8383- .option("-l, --limit <number>", "Number of results to limit")
8484- .argument("[did]", "The DID or handle of the user to get albums for.")
8585- .description("Get the user's top albums.")
8383+ .option("-l, --limit <number>", "number of results to limit")
8484+ .argument("[did]", "the DID or handle of the user to get albums for.")
8585+ .description("get the user's top albums.")
8686 .action(albums);
87878888program
8989 .command("tracks")
9090- .option("-l, --limit <number>", "Number of results to limit")
9191- .argument("[did]", "The DID or handle of the user to get tracks for.")
9292- .description("Get the user's top tracks.")
9090+ .option("-l, --limit <number>", "number of results to limit")
9191+ .argument("[did]", "the DID or handle of the user to get tracks for.")
9292+ .description("get the user's top tracks.")
9393 .action(tracks);
94949595program
9696 .command("scrobble")
9797- .argument("<track>", "The title of the track")
9898- .argument("<artist>", "The artist of the track")
9999- .option("-t, --timestamp <timestamp>", "The timestamp of the scrobble")
100100- .description("Scrobble a track to your profile.")
9797+ .argument("<track>", "the title of the track")
9898+ .argument("<artist>", "the artist of the track")
9999+ .option("-t, --timestamp <timestamp>", "the timestamp of the scrobble")
100100+ .description("scrobble a track to your profile.")
101101 .action(scrobble);
102102103103program
104104 .command("create")
105105+ .description("create a new API key.")
105106 .command("apikey")
106106- .argument("<name>", "The name of the API key")
107107- .option("-d, --description <description>", "The description of the API key")
108108- .description("Create a new API key.")
107107+ .argument("<name>", "the name of the API key")
108108+ .option("-d, --description <description>", "the description of the API key")
109109+ .description("create a new API key.")
109110 .action(createApiKey);
110111111112program.parse(process.argv);