masonfox / masonfox/dewey

Support eBook normalization

Open
#4 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
JavaScript
Stars
4
Forks
0
Avg merge
2m
Merged PRs (30d)
4

Description

Similar to LazyLibrarian, but more streamlined, support Claude normalization and library addition for ebooks: `epub`, `mobi`, and `azw3` files and allow the user to configure their preferred file format.

**Workflow**:
1. Read file metadata with ffprobe
2. Use the Hardcover API as a primary metadata provider after an initial Claude normalization
3. Apply Hardcover API response data, overwriting existing metadata
4. Allow custom AI instructions for in `.env` for final Claude polish and resend to Claude. For example, I'd like for all book descriptions to not have review content in them - remove those.
6. Using [Calibre CLI](https://manual.calibre-ebook.com/generated/en/cli-index.html), add the book to your Calibre Library with normalized metadata

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Begin with the repository's existing audiobook normalization flow, then read the linked Calibre CLI documentation and verify the Hardcover API, ffprobe, and Claude workflow described here. Done means EPUB, MOBI, and AZW3 files can be normalized with configurable instructions and added to a Calibre Library using the user's preferred format.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.