Skip to content

Repository files navigation

AniShelf 📺

A native iOS app for tracking and managing your anime library.

中文 · 使用教程

📸 Screenshots

AniShelf featured library card AniShelf library list view AniShelf poster grid view
AniShelf anime detail overview AniShelf watch management sheet AniShelf library stats overview

📱 Availability

AniShelf is currently available on the App Store.

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, and episode-level progress
  • 💾 Backup & Restore - Export and import your library data
  • ☁️ 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

🚀 Getting Started

  1. Clone the repository

    git clone https://github.com/samuelhe52/AniShelf.git
    cd AniShelf
  2. Open in Xcode

    open MyAnimeList.xcodeproj
  3. Build and run

    • Select your target device or simulator
    • Press ⌘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, or style
  • Use an imperative, capitalized, concise subject
  • Do not end the subject with a period
  • Add a short body only when it clarifies the change

Examples:

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


Made with ❤️ using Swift and SwiftUI

About

A digital bookshelf for your anime – track, organize, and revisit your favorite series with ease.

Topics

Resources

Stars

120 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages