mirror of
https://github.com/Belphemur/CBZOptimizer.git
synced 2026-07-21 19:05:39 +02:00
* Plan fsnotify migration and docs updates Co-authored-by: Belphemur <197810+Belphemur@users.noreply.github.com> * Refactor watch mode to fsnotify and add agent docs Co-authored-by: Belphemur <197810+Belphemur@users.noreply.github.com> * Fix errcheck violations in command and converter tests Co-authored-by: Belphemur <197810+Belphemur@users.noreply.github.com> * Complete validation for fsnotify and lint fixes Co-authored-by: Belphemur <197810+Belphemur@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Belphemur <197810+Belphemur@users.noreply.github.com>
28 lines
938 B
Markdown
28 lines
938 B
Markdown
# Project Overview
|
|
|
|
CBZOptimizer is a Go CLI that optimizes comic archives (`.cbz` and `.cbr`) by converting page images to modern formats (currently WebP).
|
|
|
|
## High-level flow
|
|
|
|
1. Load chapters from archive files.
|
|
2. Decode pages and optionally split oversized pages.
|
|
3. Convert images with the selected converter.
|
|
4. Write optimized output as CBZ.
|
|
|
|
## Main components
|
|
|
|
- `cmd/cbzoptimizer`: CLI commands and flag wiring (`optimize`, `watch`).
|
|
- `internal/cbz`: archive loading and writing.
|
|
- `internal/manga`: chapter and page domain models.
|
|
- `internal/utils`: orchestration utilities (`optimize` flow and file helpers).
|
|
- `pkg/converter`: converter abstraction and format implementations.
|
|
|
|
## Watch mode
|
|
|
|
`watch` monitors a directory tree for archive file changes and runs optimization automatically.
|
|
|
|
## Key runtime requirements
|
|
|
|
- Go 1.25+
|
|
- WebP encoder setup via `cmd/encoder-setup` for WebP conversion tests and runtime support.
|