@irfanshadikrishad/anilist

Minimalist unofficial AniList CLI for Anime and Manga Enthusiasts.

https://github.com/irfanshadikrishad/anilist

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.2%) to scientific vocabulary

Keywords

anilist anilist-api cli npm-package npmjs
Last synced: 6 months ago · JSON representation ·

Repository

Minimalist unofficial AniList CLI for Anime and Manga Enthusiasts.

Basic Info
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 6
  • Releases: 5
Topics
anilist anilist-api cli npm-package npmjs
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codeowners

README.md

@irfanshadikrishad/anilist

Minimalist unofficial AniList CLI for Anime and Manga Enthusiasts.

NPM Version NPM Downloads NPM License

How to install?

Make sure Node.js and npm are already installed in your system. Verify installation using

bash node -v npm -v

If you see the version then its installed. Otherwise install nodejs and npm should already be installed with nodejs. Then install the package by running

bash npm install -g @irfanshadikrishad/anilist

This will install the package globally. And you have to use commands like

bash anilist tr -c 15

How to use?

Create an API client from anilist developer setting with an application name and redirect url as https://anilist.co/api/v2/oauth/pin. After creating the client you will get Client ID and Client Secret which is required in order to login from CLI.

To login:

bash anilist login -i <client-id> -s <client-secret>

[!NOTE] here <client-id> and <client-secret> should be replaced by the ones that you recieved from the developer setting. Also don't include <>, this only indicates need-to-be-replaced data.

CLI Commands Overview

| Command | Options | Description | | --------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | | login | -i, --id -s, --secret | Log in with your AniList credentials | | logout | None | Log out from your AniList account | | whoami | None | Display information about the logged-in user | | -V, --version | None | Display the current version of the CLI | | -h, --help | None | Display available commands and options | | trending
(alias: tr) | -c (default: 10) | Fetch trending anime (default count is 10) | | popular
(alias: plr) | -c (default: 10) | Fetch popular anime (default count is 10) | | user | <username> | Get information about a specific AniList user | | lists
(alias: ls) | -a, --anime
-m, --manga | Fetch anime or manga lists of the logged-in user | | delete
(alias: del) | -a, --anime
-m, --manga
-s, --activity | Delete collections of anime, manga or activities | | upcoming
(alias:up) | -c (default: 10) | Fetch upcoming anime (default count is 10) | | anime | <anime-id> | Get anime details by Anime Id | | manga | <manga-id> | Get manga details by Manga ID | | search
(alias:srch/find) | <query>
-a, --anime
-m, --manga
-c (default: 10) | Get anime/manga search results | | status
(alias: write/post) | <status> | Write a status... (text/markdown/html) | | export
(alias: exp) | -a, --anime
-m, --manga | Export anime or manga list in JSON, CSV or XML (MyAnimeList/AniDB) | | import
(alias: imp) | -a, --anime
-m, --manga | Import anime or manga list from exported JSON, MyAnimeList (XML) or AniDB (json-large) | | social
(alias: sol) | -f, --follow
-u, --unfollow | Follow users who follows you or Unfollow who doesn't follow you back with a simple command | | move
(alias: mv) | -a, --anime
-m, --manga | Move entire list to another list |

Command Breakdown:

login:

bash anilist login -i <client-id> -s <client-secret>

  • Options:
    • -i, --id: Specify AniList Client ID
    • -s, --secret: Provide the AniList Client Secret
  • Usage: Authenticate and log in to AniList using your ID and secret credentials.

logout:

bash anilist logout

  • Description: End the current session and log out from your AniList account.

whoami:

bash anilist whoami

  • Description: Retrieve and display information about the currently logged-in user, including stats and profile details.

-V, --version:

bash anilist -V

  • Description: Quickly check which version of the CLI you are running.

-h, --help:

bash anilist -h

  • Description: List all available commands and their usage details for quick reference.

trending (alias: tr):

bash anilist tr -c 15

  • Options:
    • -c (count): Specify how many trending anime to fetch (default: 10).
  • Description: Fetch the current trending anime series, with the option to customize how many results to display.

popular (alias: plr):

bash anilist popular

  • Options:
    • -c (count): Specify how many popular anime to fetch (default: 10).
  • Description: Fetch the most popular anime series, with the option to customize how many results to display.

upcoming (alias: up):

bash anilist up -c 25

  • Options:
    • -c (count): Specify how many upcoming anime to fetch (default: 10).
  • Description: Fetch the upcoming anime series next season, with the option to customize how many results to display.

user:

bash anilist user <username>

  • Options:
    • <username>: Specify the AniList username to fetch.
  • Description: Retrieve profile information about a specific AniList user.

lists (alias: ls):

bash anilist ls -a

  • Options:
    • -a, --anime: Fetch the authenticated user's anime list.
    • -m, --manga: Fetch the authenticated user's manga list.
  • Description: Get the anime or manga lists of the logged-in user.

delete (alias: del):

bash anilist del -s,

  • Options:
    • -a, --anime: Delete your specific anime collection that you want.
    • -m, --manga: Delete your specific manga collection that you want.
    • -s,, --activity: Delete all or any type of activities you want.
  • Description: Delete the entire anime or manga collection from the logged-in user's profile.

anime

bash anilist anime <anime-id>

  • Options
    • <anime-id> (eg: 21) : Id of the anime you want to get details of.
  • Description: Get anime details by anime Id.

manga

bash anilist manga <manga-id>

  • Options
    • <anime-id> (eg: 21) : Id of the manga you want to get details of.
  • Description: Get manga details by manga Id.

search (alias: srch/find):

bash anilist search <query> -a -c 20

  • Options:
    • <query> : What you want to search (eg: naruto).
    • -a, --anime: To get results of anime search.
    • -m, --manga: To get results of manga search.
    • -c (count): Specify how many items to fetch (default: 10).
  • Description: Get anime/manga search results

status (alias: write/post):

bash anilist write <status>

  • Options:
    • <status> : This is what you want to write, It can be HTML, Markdown and/or Text. But wrap it with quotation mark (") else it might get cut-off.
  • Description: Get anime/manga search results

export (alias: exp):

bash anilist export -a

  • Options:
    • -a, --anime: To export anime list.
    • -m, --manga: To export manga list.
  • Description: Export anime or manga list. For XML (MyAnimeList/AniDB) file, to import it on MyAnimeList, go here and choose MyAnimeList Import for AniDB go here and select MyAnimeList.net - XML anime list export.

import (alias: imp):

bash anilist import -m

  • Options:
    • -a, --anime: To import anime list.
    • -m, --manga: To import manga list.
  • Description: Import anime or manga list. If you want to import anime/manga list from MyAnimeList, export the XML from here, for exporting list from AniDB go here.

[!NOTE] If you have exported from AniDB, you will have to unzip it, and there should be a file named mylist.json, copy and paste it in your systems download folder, and select it from import option.

[!IMPORTANT] If you are importing from a file, place the file in the system specific download folder, And the exported file will also be exported there as well.

social (alias: sol):

bash anilist sol -f

  • Options:
    • -f, --follow: To follow users who follows you automatically.
    • -u, --unfollow: To unfollow users who doesn't follow you back.
  • Description: It follows users who follows you or unfollow users who doesn't follow you back at ease.

Security

Since you are creating your own API client for login no else else can get your credentials and the generated access token will be stored in your own system. So, As long as you don't share your device (in case you do, just logout) you are safe.

Contribution

Want to contribute to the project? Check out complete guideline here.

Thanks for visiting 💙

Owner

  • Name: Irfan Shadik Rishad
  • Login: irfanshadikrishad
  • Kind: user
  • Location: Sylhet, Bangladesh

A computer programmer who loves to build things. Nowadays mostly learning MERN stack development.

Citation (CITATION.cff)

cff-version: 1.2.0
message: 'If you use this software, please cite it as below.'
title: '@irfanshadikrishad/anilist'
authors:
  - name: 'Irfan Shadik Rishad'
    orcid: '0009-0001-6745-5291'
date-released: '2024-10-12'
repository-code: 'https://github.com/irfanshadikrishad/anilist'

GitHub Events

Total
  • Create event: 249
  • Issues event: 2
  • Release event: 60
  • Delete event: 262
  • Issue comment event: 239
  • Public event: 1
  • Push event: 437
  • Pull request review event: 14
  • Pull request review comment event: 4
  • Pull request event: 355
Last Year
  • Create event: 249
  • Issues event: 2
  • Release event: 60
  • Delete event: 262
  • Issue comment event: 239
  • Public event: 1
  • Push event: 437
  • Pull request review event: 14
  • Pull request review comment event: 4
  • Pull request event: 355

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 19
  • Total Committers: 2
  • Avg Commits per committer: 9.5
  • Development Distribution Score (DDS): 0.263
Past Year
  • Commits: 19
  • Committers: 2
  • Avg Commits per committer: 9.5
  • Development Distribution Score (DDS): 0.263
Top Committers
Name Email Commits
Irfan Shadik Rishad i****d@g****m 14
Irfan Shadik Rishad 7****d 5

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 3
  • Total pull requests: 368
  • Average time to close issues: about 14 hours
  • Average time to close pull requests: 1 day
  • Total issue authors: 2
  • Total pull request authors: 3
  • Average comments per issue: 0.67
  • Average comments per pull request: 1.25
  • Merged pull requests: 291
  • Bot issues: 2
  • Bot pull requests: 252
Past Year
  • Issues: 3
  • Pull requests: 368
  • Average time to close issues: about 14 hours
  • Average time to close pull requests: 1 day
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 0.67
  • Average comments per pull request: 1.25
  • Merged pull requests: 291
  • Bot issues: 2
  • Bot pull requests: 252
Top Authors
Issue Authors
  • irfanshadikrishad (1)
  • dependabot[bot] (1)
Pull Request Authors
  • dependabot[bot] (252)
  • irfanshadikrishad (128)
  • fumihito-sama (4)
Top Labels
Issue Labels
dependencies (1) javascript (1)
Pull Request Labels
dependencies (252) javascript (225)

Packages

  • Total packages: 1
  • Total downloads:
    • npm 279 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 81
  • Total maintainers: 1
npmjs.org: @irfanshadikrishad/anilist

Minimalist unofficial AniList CLI for Anime and Manga Enthusiasts

  • Versions: 81
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 279 Last month
Rankings
Dependent repos count: 25.7%
Average: 31.5%
Dependent packages count: 37.3%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/linter.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
.github/workflows/npm-publish.yml actions
  • actions/checkout v4 composite
  • actions/setup-node v4 composite
.github/workflows/prettify.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
.github/workflows/unit-testing.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
package-lock.json npm
  • 584 dependencies
package.json npm
  • @babel/preset-env ^7.27.2 development
  • @eslint/js ^9.30.0 development
  • @types/jest ^30.0.0 development
  • @types/node ^24.0.7 development
  • @types/papaparse ^5.3.16 development
  • @types/xml2js ^0.4.14 development
  • @typescript-eslint/eslint-plugin ^8.35.0 development
  • eslint ^9.30.0 development
  • globals ^16.2.0 development
  • jest ^30.0.3 development
  • prettier ^3.6.2 development
  • prettier-plugin-organize-imports ^4.1.0 development
  • ts-jest ^29.4.0 development
  • ts-node ^10.9.2 development
  • typescript ^5.8.3 development
  • @irfanshadikrishad/cipher ^1.2.1
  • cli-truncate ^4.0.0
  • commander ^14.0.0
  • fast-xml-parser ^5.2.5
  • inquirer ^12.6.3
  • jsonrepair ^3.12.0
  • node-fetch ^3.3.2
  • open ^10.1.2
  • papaparse ^5.5.3
  • tiny-spinner ^2.0.5
  • xml2js ^0.6.2