How whoisyurii/christ-cli works
christ-cli is a Rust Bible-reading CLI and interactive terminal browser. Users launch the browser or issue commands to read references, search, or retrieve a random verse; references are parsed and Scripture is resolved from bundled KJV data, cache, or the Bolls.life API, then displayed as plain text or a terminal view. The browser also supports localized book names, translations, live search, copying, themes, and saved reading preferences. The graph reflects sampled source and documented capabilities; some command and UI wiring is not shown in the excerpts.
Main entry points: app.rs Browser app · main.rs Command dispatch · mod.rs Scripture resolver · browser.rs Browser panels
Components 21
Command entry
- Command dispatch
src/main.rs - CLI arguments
src/cli.rs - Browser app
src/app.rs
Scripture retrieval
- Reference parser
src/data/reference.rs - Scripture resolver
src/api/mod.rs - Bolls provider
src/api/bolls.rs - Verse types
src/api/types.rs - Bundled KJV
src/data/kjv.rs - Book catalog
src/data/books.rs - Localized names
src/data/books_i18n.rs
Reading experience
- Browser panels
src/ui/browser.rs - Themes
src/ui/theme.rs - Startup banner
src/ui/banner.rs - Verse display
src/ui/verse_card.rs - Clipboard copy
src/clipboard.rs
Storage and services
- Translation cache
src/store/cache.rs - Session state
src/store/state.rs
Other components
- Reader
- Bolls.life
- System clipboard
- Terminal
Connections 25
- Reader → Command dispatch: runs command
- Command dispatch → CLI arguments: parses arguments
- Command dispatch → Browser app: launches browser
- Command dispatch → Reference parser: parses reference
- Command dispatch → Scripture resolver: requests Scripture
- Command dispatch → Verse display: renders verse
- Command dispatch → Terminal: prints output
- Browser app → Scripture resolver: loads chapters
- Browser app → Browser panels: updates and draws
- Browser app → Themes: selects theme
- Browser app → Startup banner: plays banner
- Browser app → Session state: loads and saves
- Browser app → Translation cache: starts download
- Browser app → Clipboard copy: copies selection
- Browser app → Terminal: renders interface
- Scripture resolver → Bundled KJV: reads KJV
- Scripture resolver → Translation cache: reads and writes
- Scripture resolver → Book catalog: normalizes book
- Scripture resolver → Bolls provider: fetches fallback
- Scripture resolver → Verse types: returns verses
- Bolls provider → Bolls.life: requests translations
- Browser panels → Book catalog: lists books
- Browser panels → Localized names: uses localized names
- Browser panels → Translation cache: checks cached data
- Clipboard copy → System clipboard: writes selection