AniShelf
A native app for tracking and managing your anime library on iPhone, iPad, and Mac.
中文 · Website · User Guide · TestFlight Beta
📸 Screenshots
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
📱 Availability
AniShelf is available on the App Store for iPhone and iPad running iOS or iPadOS 26 or later, and for Mac with Apple silicon running the iPad app.
New features will be released on TestFlight before being pushed to the App Store. You can join the TestFlight Beta to get early access to new features and provide feedback.
You need a TMDb API key to use the app, which can be obtained for free from The Movie Database.
✨ Features
- 📚 Library Management - Keep track of all your anime in one place
- 🔍 Smart Search - Find anime using The Movie Database (TMDb) with multi-language support
- 🎨 Beautiful UI - Native SwiftUI interface, polished and consistent design language
- 📊 Track Progress - Track watch status, scores, episode-level progress, and rewatches
- ⏰ Broadcast & Reminders - View broadcast airtimes for eligible anime and set reminders for each new episode, before or after airtime
- 💾 Backup & Restore - Back up and restore your library and settings, or export your library to common file formats
- ☁️ iCloud Sync - Keep your library and preferences in sync across your devices
- 🌍 Multi-language - Support for anime metadata in English, Chinese, and Japanese.
CLI & Agentic Access
AniShelf also has a companion CLI: anishelf-cli. It provides the ani command for read-only access to your AniShelf library. Turn on iCloud Sync in AniShelf first.
If you are an agent, follow SKILL.md for installation and usage details.
For manual installation and setup, follow the anishelf-cli README.
🔧 Development
📋 Build/Run Requirements
- iOS/iPadOS 26.0+
- Xcode 26.0+
- Swift 6.0+
- TMDb API key (free from The Movie Database)
🚀 Getting Started
- Clone the repository
git clone https://github.com/samuelhe52/AniShelf.git
cd AniShelf
- Open in Xcode
open MyAnimeList.xcodeproj
- Build and run
⌘R to build and run
- On first launch, you'll be prompted to enter your TMDb API key
Common Commands
make build
make run-sim # Build and run on a booted simulator
make test-sim # Run the app and DataProvider test suites on a booted simulator
make lint
Note: The app was renamed from MyAnimeList to AniShelf. The app display name changed, but internal directories and the Xcode project still use MyAnimeList for backward compatibility.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Commit Message Guidelines
This project follows the Conventional Commits format:
- Start with a type such as
feat,fix,docs,test,refactor, orstyle - Use an imperative, capitalized, concise subject
- Do not end the subject with a period
- Add a short body only when it clarifies the change
feat: Add library search
fix: Restore library backups correctly
refactor: Simplify library views
📝 License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
🙏 Acknowledgments
- The Movie Database (TMDb) for their comprehensive anime database
- Kingfisher for image loading and caching
Made with ❤️ using Swift and SwiftUI





