Effortlessly migrate and synchronize your manga library from Kenmei to AniList with a beautiful, modern desktop app. 🚀
- 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.
- Modern UI/UX: Built with React, TailwindCSS, and Radix UI for a beautiful, accessible experience.
- Import: Export your manga library from Kenmei as a CSV and import it into the app.
- Match: The app automatically matches your manga to AniList entries. Review and adjust matches as needed.
- Review: See a summary of your collection and any issues before syncing.
- Sync: With one click, sync your collection to AniList, including status, progress, and privacy settings.
# Clone the repository
git clone https://github.com/RLAlpha49/KenmeiToAnilist.git
cd KenmeiToAnilist
# Install dependencies
npm install --force
# or
yarn install
npm start
# or
yarn start
npm run make
# or
yarn make
Create a .env
file in the root if you want to override AniList credentials:
VITE_ANILIST_CLIENT_ID=your-client-id
VITE_ANILIST_CLIENT_SECRET=your-client-secret
Default values are set in
src/config/anilist.ts
. You can also configure credentials in the app's Settings page.
- Export from Kenmei: In Kenmei, export your manga library as a CSV file.
- Import in App: Drag and drop or select your CSV file in the Import page.
- Review & Match: The app will auto-match your manga. Review and adjust any mismatches.
- Sync to AniList: Click sync to update your AniList library.
- Configure Settings: Adjust sync options, privacy, and credentials in the Settings page.
- Electron – Desktop app framework
- React – UI library
- TypeScript – Type safety
- TailwindCSS – Utility-first CSS
- Radix UI – Accessible UI primitives
- Vite – Fast build tool
- User Guide - Comprehensive guide for using the application
-
Architecture Documentation - Comprehensive application architecture overview:
- Technology stack and framework decisions
- Process architecture (main vs renderer)
- Component hierarchy and data flow patterns
- Storage system and API integration details
- Build, deployment, and security considerations
-
Storage Implementation Guide - Technical documentation of the storage system:
- Three-layer architecture (in-memory cache, localStorage, Electron Store)
- Storage precedence and conflict resolution
- Debug menu integration and automatic synchronization
- Usage patterns and troubleshooting
-
API Reference - Complete AniList API integration documentation:
- GraphQL queries and mutations
- Authentication and OAuth flow
- Rate limiting and error handling
- Data types and best practices
- Generated API Documentation - TypeDoc generated documentation
Contributions are welcome! Please:
- Fork the repo and create your branch
- Follow the code style
- Open a pull request with a clear description
- For major changes, open an issue first to discuss
This project is licensed under the MIT License. See LICENSE for details.