Skip to content

chloe-pomegranate/arcana-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”ฎ Arcana

A beautiful, feature-rich terminal tarot application built in Rust

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!

โœจ Features

๐ŸŽด Complete Tarot Deck

  • 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

๐ŸŽฏ Six Spread Types

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

๐Ÿ–ฅ๏ธ Dual Interface

Interactive TUI (Default)

  • 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

CLI Mode

  • Quick lookups for any card
  • Draw readings directly from command line
  • List cards with filters
  • Colored terminal output
  • Pipe-friendly for scripting

๐ŸŽจ Rich Card Data

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

๐Ÿ““ Journal System

  • Save readings to ~/.arcana/journal/
  • Markdown format for easy reading
  • Browse past readings in TUI
  • Automatic timestamps

๐Ÿ“ฆ Installation

cargo build --release

The binary will be at target/release/arcana. You can copy it to your PATH:

cp target/release/arcana ~/.local/bin/

Requirements

  • Rust 1.70+ (for building from source)
  • Terminal with Unicode and 256-color support

๐Ÿš€ Usage

Launch the TUI

arcana              # Launch interactive TUI

CLI Commands

View a specific card

arcana card "The Fool"
arcana card "The Magician"
arcana card "Ace of Wands"
arcana card "Queen of Cups"

List cards

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

Draw a reading

# 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-reversals

View available spreads

arcana spreads

๐ŸŽฎ TUI Navigation

Global Keys

Key Action
โ†‘ / k Move up
โ†“ / j Move down
Enter Select / Confirm
Tab Cycle filters
q / Esc Quit or go back

During Readings

Key Action
Space / โ†’ Reveal next card
s Save reading to journal (after complete)

๐Ÿ—‚๏ธ Project Structure

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

๐Ÿงช Development

Running tests

cargo test

Running in development mode

cargo run

Building release

cargo build --release

๐Ÿ“ Card Data

  • 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

๐Ÿ“Š Stats

  • 78 cards with complete data
  • 6 spread types

๐Ÿ”ฎ Example Session

$ 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]

๐Ÿ“„ License

MIT License

๐Ÿ™ Acknowledgments

About

Pretty terminal Tarot app built in Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages