A beautiful, feature-rich terminal tarot application built in Rust
Arcana is a comprehensive tarot reading application that works beautifully as both a quick CLI tool and an immersive TUI (Terminal User Interface) experience. Complete with all 78 cards, multiple spread types, card reversals, and everything you need to read your tarot!
- 78 cards with rich, detailed meanings
- 22 Major Arcana - from The Fool to The World
- 56 Minor Arcana - 14 cards in each of the 4 suits
- ๐ฅ Wands (Fire) - Action, creativity, passion
- ๐ง Cups (Water) - Emotions, relationships, intuition
- โ๏ธ Swords (Air) - Intellect, conflict, truth
- ๐ฟ Pentacles (Earth) - Material world, career, health
| Spread | Cards | Purpose |
|---|---|---|
| Single Card | 1 | Quick insight or daily guidance |
| Three-Card | 3 | Past / Present / Future |
| Situation-Action-Outcome | 3 | Problem-solving guidance |
| Mind-Body-Spirit | 3 | Holistic wellness view |
| Five-Card Cross | 5 | Situation analysis with challenge and potential |
| Celtic Cross | 10 | Deep, comprehensive insight |
- Beautiful Catppuccin Mocha-inspired theme throughout
- Animated shuffle with visual progress
- Card-by-card reveal - unveil each card with intention
- Visual spread layouts - see cards arranged in their positions
- ASCII art for Major Arcana cards
- Card browser with filtering by Major Arcana or suit
- Journal system - save and browse past readings
- Quick lookups for any card
- Draw readings directly from command line
- List cards with filters
- Colored terminal output
- Pipe-friendly for scripting
Each card includes:
- 3-5 descriptive keywords
- Detailed upright meaning
- Detailed reversed meaning
- Full paragraph description
- Element association
- Astrological correspondence
- Numerology
- Yes/No/Maybe indicator
- Save readings to
~/.arcana/journal/ - Markdown format for easy reading
- Browse past readings in TUI
- Automatic timestamps
cargo build --releaseThe binary will be at target/release/arcana. You can copy it to your PATH:
cp target/release/arcana ~/.local/bin/- Rust 1.70+ (for building from source)
- Terminal with Unicode and 256-color support
arcana # Launch interactive TUIarcana card "The Fool"
arcana card "The Magician"
arcana card "Ace of Wands"
arcana card "Queen of Cups"arcana list # All 78 cards
arcana list --major # Major Arcana only
arcana list --suit wands # Wands suit only
arcana list --suit cups # Cups suit only
arcana list --long # Detailed view with meanings# Single card (default)
arcana read
# Three-card spread
arcana read --spread three
# Celtic Cross (10 cards)
arcana read --spread celtic
# Five-card cross
arcana read --spread five
# Situation-Action-Outcome
arcana read --spread situation
# Mind-Body-Spirit
arcana read --spread holistic
# Disable reversals (all cards upright)
arcana read --no-reversalsarcana spreads| Key | Action |
|---|---|
โ / k |
Move up |
โ / j |
Move down |
Enter |
Select / Confirm |
Tab |
Cycle filters |
q / Esc |
Quit or go back |
| Key | Action |
|---|---|
Space / โ |
Reveal next card |
s |
Save reading to journal (after complete) |
arcana/
โโโ src/
โ โโโ main.rs # CLI entry point
โ โโโ ascii/ # ASCII art for Major Arcana
โ โ โโโ mod.rs # 22 card illustrations
โ โโโ cards/ # Card definitions
โ โ โโโ mod.rs # Core types and structures
โ โ โโโ major.rs # 22 Major Arcana definitions
โ โ โโโ minor.rs # 56 Minor Arcana definitions
โ โโโ deck.rs # Deck operations (shuffle, draw)
โ โโโ journal.rs # Journal save/load system
โ โโโ spreads/ # Spread definitions
โ โ โโโ mod.rs # 6 spread types + Reading struct
โ โโโ tui/ # Terminal UI
โ โ โโโ mod.rs
โ โ โโโ app.rs # App state and event loop
โ โ โโโ screens/ # All TUI screens
โ โ โ โโโ home.rs
โ โ โ โโโ spread_selection.rs
โ โ โ โโโ shuffle.rs
โ โ โ โโโ card_reveal.rs
โ โ โ โโโ reading_complete.rs
โ โ โ โโโ card_browser.rs
โ โ โ โโโ card_detail.rs
โ โ โ โโโ help.rs
โ โ โ โโโ journal.rs
โ โ โโโ widgets/ # Reusable widgets
โ โ โโโ mod.rs
โ โ โโโ spread_layout.rs
โ โโโ ui/ # Theme and styling
โ โโโ mod.rs
โ โโโ theme.rs # Catppuccin Mocha colors
โโโ Cargo.toml
โโโ README.md
cargo testcargo runcargo build --release- Keywords - Quick reference for interpretation
- Upright meaning - The positive, direct interpretation
- Reversed meaning - The blocked, inverted, or shadow interpretation
- Full description - Deeper narrative context
- Astrology - Planetary and zodiac associations
- Numerology - Number significance
- Yes / No - Answer of yes / no / maybe per-card
- 78 cards with complete data
- 6 spread types
$ arcana
# [TUI launches - select "New Reading"]
# [Choose "Three-Card Spread"]
# [Watch shuffle animation]
# [Press Space to reveal each card...]
# Card 1 - Past: The Hermit
# "A period of withdrawal and introspection..."
# Card 2 - Present: Three of Cups
# "Celebrate with friends and community..."
# Card 3 - Future: The Star
# "Hope shines in the darkness..."
# [Press 's' to save to journal]MIT License
- Rider-Waite-Smith Tarot - The classic deck that inspired this project
- Catppuccin - The prettiest color palette
- ratatui - The most wonderful TUI library