Skip to content

RLAlpha49/KenmeiToAnilist

Repository files navigation

App Icon

Kenmei to Anilist

Effortlessly migrate and synchronize your manga library from Kenmei to AniList with a beautiful, modern desktop app. 🚀


📸 Screenshots

  • Home Page
    Home Page Screenshot
  • Import Kenmei CSV
    Import Screenshot
  • Smart Matching
    Matching Screenshot
  • Sync to AniList
    Sync Screenshot
  • Settings
    Settings Screenshot

✨ Features

  • Import from Kenmei: Easily import your entire manga collection from a Kenmei CSV export.
  • Smart Matching: An algorithm matches your manga to AniList entries.
  • One-Click Sync: Synchronize your collection to AniList with a single click after reviewing matches.
  • Auto-Pause Manga: Automatically pause manga that haven't been updated within a customizable time period.
  • Flexible Configuration: Customize how synchronization works with priority settings for status, progress, and scores.
  • Automatic Updates: Built-in Electron auto-updater with in‑app download and install. Optional pre‑release channel support.
  • Automatic Backups: Configurable scheduled backups (hourly/daily/weekly) with rotation and restore from Settings.

🛠️ How It Works

  1. Import: Export your manga library from Kenmei as a CSV and import it into the app.
  2. Match: The app automatically matches your manga to AniList entries. Review and adjust matches as needed.
  3. Review: See a summary of your collection and any issues before syncing.
  4. Sync: With one click, sync your collection to AniList, including status, progress, and privacy settings.

🚀 Getting Started

Prerequisites

Installation

# Clone the repository
git clone https://github.com/RLAlpha49/KenmeiToAnilist.git
cd KenmeiToAnilist

# Install dependencies
npm install --force
# or
yarn install

Running the App (Development)

npm start
# or
yarn start

Building for Production

npm run make
# or
yarn make

Environment Variables

Create a .env file in the root if you want to set the default AniList credentials:

VITE_ANILIST_CLIENT_ID=your-client-id
VITE_ANILIST_CLIENT_SECRET=your-client-secret

You can also configure credentials in the app's Settings page.


📚 Documentation

For Users

For Developers

Generated API (TypeDoc)


🙏 Credits

This project makes use of several external APIs and services:

  • AniList – The primary manga database and sync target.
  • MangaDex – Used as a fallback source.
  • Comick – Used as a fallback source.

🤝 Contributing

We welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or suggesting ideas, your help is appreciated.

This project follows Conventional Commits for commit messages, enabling automatic changelog generation and semantic versioning.

Quick Links

Development Quick Start

# Fork and clone the repository
git clone https://github.com/YOUR_USERNAME/KenmeiToAnilist.git
cd KenmeiToAnilist

# Install dependencies
npm install --force

# Run in development mode
npm start

# Before committing (runs automatically via Husky)
npm run precommit

# Commit your changes using conventional commits format
git commit -m "feat(scope): description of your changes"

# See CONTRIBUTING.md for commit message guidelines

For detailed instructions, see CONTRIBUTING.md.


📄 License

This project is licensed under the MIT License. See LICENSE for details.

Contributors 3

  •  
  •  
  •