Browse by type
Manage your ebook library with Citadel. Backwards compatible with Calibre.
https://github.com/every-day-things/citadel/assets/17505728/a3879896-8404-4333-98cb-5e1e0060b42e
Citadel is early software; it is likely full of bugs and lacking features.
[!WARNING] Citadel is very early in development. It may crash, or be missing basic features. It may corrupt your ebook library.
Back up your Calibre library regularly if you use Citadel on it.
(Semi-) stable builds are available in Releases.
Development builds are available from GitHub actions.
Please report any issues or crashes you experience while using any version of Citadel!
Builds aren't signed (yet) — if you open Citadel.app directly, you'll get a warning that the file is "damaged".
Removing the Quarantine attribute from the file resolves this. For example,
xattr -d com.apple.quarantine /Applications/Citadel.app/
As a prerequisite, you'll need to install Bun and Rust.
Then, you can install the packages.
bun install
and start up the app like so:
bun run dev
# or just bun dev
To lint all source code, run bun lint. To autoformat, run bun format.
| Scope | Action | Command |
|---|---|---|
| All code | Format | bun format |
| All code | Format (Check) | bun format:check |
| All code | Lint | bun lint |
| Backend | Format | bun format:backend |
| Backend | Lint | bun lint:backend |
| Frontend | Format | bun format:web |
| Frontend | Lint | bun lint:web |
You can run just the frontend with this command, although you WILL see errors as the Rust backend will be missing but is assumed to exist:
bun dev:app
To create a production version of Citadel, you'll need the development prereqs. Then:
bun install
bun run build
Citadel can check for app updates and install them on request. Automatic update checks can be disabled in Settings (Auto updates: On/Off), and installs are always explicit (Install and restart). For maintainer setup and release workflow details, see docs/updater-and-releases.md.
This project would not be possible without the north star created by Kovid Goyal, Calibre. Without his hard work building such an extensive and powerful tool, Citadel would not exist.
Huge thanks to Kemie Guaida, who created an excellent Calibre redesign Figma prototype, from which Citadel takes inspiration. Thank you, Kemie!
$ claude mcp add citadel \
-- python -m otcore.mcp_server <graph>