anichi
v2.6.2
Published
A modern, interactive CLI for discovering, streaming, and managing anime directly from the terminal.
Downloads
1,283
Maintainers
Readme
🎌 Anichi
A Modern, Interactive CLI for Discovering, Streaming, and Managing Anime Directly from the Terminal
Built by Aditya K.
Features • Installation • Usage • Development • License
🌟 Features
Anichi brings the anime streaming experience to your terminal with a modern, interactive interface:
- 🎨 Premium Modern UI: Gradient banners, elegant tables, ASCII art banners, and vibrant color themes powered by
chalk,boxen,figlet, andgradient-string - 📂 Comprehensive Browsing:
- Ongoing Anime: Browse currently airing anime with release day and latest episode information
- Completed Anime: Explore finished series with scores and ratings
- Popular Anime: Discover trending and popular titles
- Search by Genre: Filter anime by categories (Action, Adventure, Comedy, Drama, etc.)
- Anime Schedule: View broadcast schedule by day of the week
- 🔍 Smart Search: Instantly search for anime by title with detailed metadata
- 📺 Streaming: Play episodes directly using MPV or fallback to browser playback
- ⬇️ Downloads:
- Single episode downloads with multiple quality options
- Batch downloads with format, quality, and provider selection
- ⚡ Performance: Lightning-fast caching system to eliminate redundant API calls
- ⚙️ Configuration: Easily customize player paths, arguments, and playback preferences
- 🔄 Cache Management: Clear cached data on demand
- 📊 Pagination Support: Navigate through large lists with ease
🛠️ Tech Stack
Anichi is built with modern, battle-tested libraries:
- Language: TypeScript 5.x
- Runtime: Node.js 18+
- CLI Framework: Commander.js 11.x
- HTTP Client: Axios 1.6.x
- UI/Styling:
chalk- Terminal color stylingcli-table3- Data table renderingboxen- Text boxes with bordersgradient-string- Gradient text effectsfiglet- ASCII art bannerschalk-animation- Animated text
- User Interaction:
inquirer- Interactive CLI promptsterminal-kit- Terminal utilitiesreadline- Command-line input
- Performance:
node-cache- Fast in-memory cachinglog-symbols- Standard symbols (✓, ✗, ℹ, ⚠)ora- Loading spinners
- Utilities:
open- Cross-platform URL/file openingupdate-notifier- Update notificationsstring-width- Text width calculationwrap-ansi- ANSI text wrapping
- Cross-Platform: Optimized for Windows, macOS, and Linux
📦 Supported Video Players
Anichi automatically detects and uses the best available video player on your system:
Primary Player: MPV (Recommended)
Why MPV? Lightweight, supports virtually all formats, highly customizable, and perfect for streaming.
Installation Locations:
- Windows:
- Scoop:
~/scoop/apps/mpv/current/mpv.exe - Program Files:
C:\Program Files\mpv\mpv.exe - Program Files (x86):
C:\Program Files (x86)\mpv\mpv.exe - Chocolatey:
C:\ProgramData\chocolatey\bin\mpvio.install\tools\mpv.exe - AppData:
%APPDATA%\Local\Programs\mpv\mpv.exe
- Scoop:
- macOS:
- Homebrew:
/opt/homebrew/bin/mpv - MacPorts:
/opt/local/bin/mpv - App Bundle:
/Applications/mpv.app/Contents/MacOS/mpv
- Homebrew:
- Linux:
- Snap:
/snap/bin/mpv - Flatpak:
/var/lib/flatpak/exports/bin/io.github.mpv.mpv - Package Manager:
/usr/bin/mpvor/usr/local/bin/mpv
- Snap:
Fallback: Browser
If no compatible player is found, streams automatically open in your default web browser.
Important: yt-dlp Requirement
MPV requires yt-dlp to extract direct streaming URLs from various sources. Without it, some streams may fail to play.
Install yt-dlp:
- Windows:
choco install yt-dlp - macOS:
brew install yt-dlp - Linux:
sudo apt install yt-dlporsudo pacman -S yt-dlp
🚀 Installation
Prerequisites
- Node.js 18.0.0 or higher
- npm or yarn package manager
- MPV player (recommended) - See Supported Video Players
- yt-dlp (required for streaming) - See Supported Video Players
Install Globally via NPM
npm install -g anichiInstall Globally via Yarn
yarn global add anichiVerify Installation
anichi --version
# Output: 2.6.1
anichi --help
# Shows available commands💻 Usage
Launch Interactive Menu
Start the application with:
an homeor
anichi homeThis launches the main menu with beautiful ASCII banners and gradient text. Navigate using number inputs (1-7) or keywords.
Menu Options
1. 🔄 Ongoing Anime
Browse currently airing anime series:
- View release day and latest episode information
- Pagination support (25 items per page)
- Navigate:
nfor next,pfor previous - Select anime by number to view details and streaming options
2. ✅ Completed Anime
Explore finished anime series:
- View completion status and ratings/scores
- Pagination support
- Access to all completed episodes
3. 🌟 Popular Anime
Discover trending and popular titles:
- See what the community is watching
- Ratings and current status
- Pagination support
4. 🔍 Search Anime
Find anime by title:
# When prompted, enter anime title
Enter keyword: Naruto- Displays all matching results
- Shows status and score
- Select to view details
5. 🎬 Search by Genre
Filter anime by category:
- Browse available genres (Action, Adventure, Comedy, Drama, etc.)
- Select genre to view paginated anime list
- Search within genre results
6. 📅 Schedule Anime
View anime broadcast schedule:
- Organized by day of the week (Senin - Minggu)
- Shows airing time when available
7. ❓ FAQ
Frequently asked questions:
- Player installation guides
- Troubleshooting common issues
- Performance tips
- Command reference
📺 Episode Viewing & Streaming
When viewing an anime's episode list, you have several options:
Perintah:
• [nomor] atau 'latest' - Watch episode
• 'b' atau 'batch' - Download entire series (if available)
• 'd' atau 'download' - Download single episode
• 'back' - Return to anime listExample - Watch Episode:
Peintah: 10
# Starts streaming episode 10 with MPV player
Peintah: latest
# Streams the newest episodeStreaming Process:
- Select episode number
- Choose video quality
- MPV player launches automatically
📼 Episode Downloading
Download episodes for offline viewing:
Peintah: d
# Shows available qualities with file sizes
# Select quality → Select provider → Opens download link in browser📦 Batch Downloads
Download entire anime series (if available):
Peintah: b
# Select format (720p, 1080p, etc.)
# Select quality within format
# Select provider (drive, mega, etc.)
# Opens download link in browser⌨️ Command Line Commands
Direct Episode Playback
Skip the menu and play a specific episode immediately:
anichi play <slug> <episode>Example:
anichi play one-piece-sub-indo 1070
# Directly streams One Piece episode 1070Configuration Management
Manage your playback preferences:
# View current configuration
anichi config show
# Set default player path
anichi config set playerPath "C:\mpv\mpv.exe"Configuration File Location:
- Windows:
%APPDATA%\.config\anichi\config.json - macOS/Linux:
~/.config/anichi/config.json
Cache Management
Clear application cache to force fresh data:
# Clear all cached anime data
anichi cache clearWhen to clear cache:
- Huge data updates from API
- Outdated episode information
- To reset pagination
🛠️ Setup Guide: MPV + yt-dlp
Windows (Recommended: Chocolatey)
Step 1: Install Chocolatey (if not already installed)
Open PowerShell as Administrator and run:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))Step 2: Install MPV and yt-dlp
choco install mpv yt-dlp -yStep 3: Verify Installation
mpv --version
yt-dlp --versionmacOS (Homebrew)
# Install Homebrew (if not installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install MPV and yt-dlp
brew install mpv yt-dlp
# Verify
mpv --version
yt-dlp --versionLinux (Ubuntu/Debian)
# Update package manager
sudo apt update
# Install MPV and yt-dlp
sudo apt install mpv yt-dlp -y
# Verify
mpv --version
yt-dlp --version🐛 Troubleshooting
"MPV not found" Error
Solution 1: Install MPV
- Windows:
choco install mpv - macOS:
brew install mpv - Linux:
sudo apt install mpv
Solution 2: Set Custom Path
anichi config set playerPath "C:\path\to\mpv.exe"Stream won't load in MPV
Common Cause: Missing yt-dlp
Solution:
- Windows:
choco install yt-dlp - macOS:
brew install yt-dlp - Linux:
sudo apt install yt-dlp
Rate Limiting (Too Many Requests)
Anichi implements intelligent rate limiting to respect the API:
- Minimum 600ms between requests
- Automatic retry with exponential backoff
- Integrated caching to minimize requests
Workaround: Don't rapidly navigate between sections
Pagination Issues
If pagination seems stuck:
anichi cache clear📁 Project Structure
anichi/
├── src/
│ ├── index.ts # Main application logic, CLI commands
│ ├── api.ts # Axios HTTP client, API integration, caching
│ ├── ui.ts # Terminal UI, tables, colors, formatting
│ ├── player.ts # External player detection & management
│ ├── config.ts # Configuration file handling
│ └── types.ts # TypeScript interfaces & type definitions
├── bin/
│ └── anichi # CLI entry point
├── dist/ # Compiled JavaScript (after build)
├── package.json # Dependencies & scripts
├── tsconfig.json # TypeScript configuration
├── jest.config.js # Test configuration
├── README.md # This file
├── CHANGELOG.md # Version history
└── LICENSE # MIT License📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Credits & Acknowledgments
- Created By: Aditya K.
- Email: [email protected]
- Built With: TypeScript, Node.js, and amazing open-source libraries
📞 Support
Need help? Check these resources:
- FAQ - Run
anichi→ Select option 7 - Documentation - See this README for detailed guides
Made with ❤️ and ☕ by Aditya K.
⭐ If you found this useful, please give it a star! ⭐
