GitHub - baturyilmaz/readingisfun: EPUB reader that lets your coding agent read along · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
baturyilmaz
readingisfun
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>1 Commit<br>1 Commit
client
client
media
media
server
server
.gitignore
.gitignore
LICENSE
LICENSE
README.md
README.md
package.json
package.json
pnpm-lock.yaml
pnpm-lock.yaml
pnpm-workspace.yaml
pnpm-workspace.yaml
prettier.config.js
prettier.config.js
tsconfig.base.json
tsconfig.base.json
View all files
Repository files navigation
readingisfun.
EPUB reader with coding agent integration. Uses your existing CLI subscription (Copilot, Claude Code, Codex, Gemini).
How to Run
pnpm install<br>cp server/.env.example server/.env<br>cp client/.env.example client/.env<br>pnpm dev
Client runs on http://localhost:5173, server on http://localhost:3002.
Features
Two Reading Modes
Study Mode — Three-panel layout: chapter sidebar on the left, raw XHTML content in the center, AI chat / notes / highlights on the right. Panels are resizable and collapsible.
Reader Mode — Paginated EPUB rendering via epub.js. Single-column view with page turns, three themes (light, sepia, dark), adjustable font size. AI and highlights accessible via slide-over panel on text selection.
AI Chat
Chat with an AI agent about what you're reading. The agent has read-only access to the book's content and can reference any chapter.
Works with any provider: Anthropic, GitHub Copilot, Google Gemini, OpenAI Codex
Authenticate through existing CLI subscriptions — no extra API keys needed
Web Search
The AI agent can search the web via Exa for information beyond the book's content. Set EXA_API_KEY in server/.env and VITE_WEB_SEARCH=true in client/.env (see setup above). A globe icon appears next to the chat input to toggle it.
Highlights & Notes
Select text to highlight it (visually marked in reader mode)
Take markdown notes per chapter
All highlights and notes persist locally
EPUB Import
Import any .epub file
Data
Everything lives in ~/.readingisfun/
~/.readingisfun/<br>├── auth.json # OAuth tokens<br>├── uploads/ # Original EPUB files<br>└── books/{bookId}/<br>├── manifest.json # Book metadata & chapter index<br>├── progress.json # Reading percentage & last CFI position<br>├── images/ # Extracted images<br>└── chapters/{N}/<br>├── raw.html # Chapter content (EPUB XHTML body)<br>├── metadata.json # Title, word count, image refs<br>├── notes.md # Your notes<br>├── highlights.json # Your highlights<br>└── chats/ # AI chat sessions
About
EPUB reader that lets your coding agent read along
Resources
Readme
License
MIT license
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
stars
Watchers
watching
Forks
forks
Report repository
Releases
No releases published
Packages
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
TypeScript<br>80.5%
CSS<br>18.8%
Other<br>0.7%
You can’t perform that action at this time.