Getting Started
An all-in-one toolkit for Magic: The Gathering decks, collections, and self-hosting.
Installation
Using a Pre-built Binary
Download the latest binary from the releases page and run it directly:
./ritual --help
Building from Source
This project uses Bun as its runtime. First, install dependencies:
bun install
Then build the binary:
bun run build
Quick Start
Create Your First Deck
./ritual new-deck "My Commander Deck" --format commander
Import a Deck from a Website
Import decks from Archidekt, Moxfield, or MTGGoldfish:
./ritual import https://archidekt.com/decks/12345
Get Pricing Information
./ritual price "My Commander Deck"
Generate a Static Website (Experimental)
Ritual supports building static websites to showcase your decks (and soon, your collection). This is an experimental feature, so expect some rough edges. To build and serve the site locally:
./ritual build-site
./ritual serve
Then open http://localhost:3000 to view your deck collection.
Features
- Deck Management: Create and organize your MTG decks
- Multi-source Import: Import from Archidekt, Moxfield, MTGGoldfish, or local files
- Scryfall Integration: Full card search powered by Scryfall
- Pricing: Get min, max, and latest prices for your decks
- Static Site Generation: Create a self-hosted website to showcase your decks or collection
- Caching: Smart caching for fast card lookups
Scripting quickstart
Use structured output for automation:
./ritual price "My Commander Deck" --output json | jq '.totals'
Stream multiple card lookups as NDJSON:
./ritual card --from-file cards.txt --output ndjson --fields name,set,prices.usd
Avoid interactive prompts in CI:
./ritual import-account johndoe --all --non-interactive --dry-run
Migration notes
- Prefer
--output jsonor--output ndjsonfor script parsing. - Use
--fieldsto project stable subsets of data. - Add
--non-interactive(and--yeswhen needed) in headless environments.