- Headless mode via submenu in the main menu (auto-runs single config; lists multiple as "Commander - Theme1, Theme2, Theme3"; `deck.json` shows as "Default")
- Exports: CSV/TXT always; JSON run-config only for interactive runs (headless skips it)
- Docs simplified: concise README and Docker guide; PowerShell examples included
## Docker
- Single service with persistent volumes:
- /app/deck_files
- /app/logs
- /app/csv_files
- Optional: /app/config for JSON configs
### Quick Start (PowerShell)
```powershell
# From Docker Hub
docker run -it --rm `
-v "${PWD}/deck_files:/app/deck_files" `
-v "${PWD}/logs:/app/logs" `
-v "${PWD}/csv_files:/app/csv_files" `
mwisnowski/mtg-python-deckbuilder:latest
# From source with Compose
docker compose build
docker compose run --rm mtg-deckbuilder
# Headless (optional)
docker compose run --rm -e DECK_MODE=headless mtg-deckbuilder
# With JSON config
docker compose run --rm -e DECK_MODE=headless -e DECK_CONFIG=/app/config/deck.json mtg-deckbuilder
```
## Changes
- Added headless runner and headless submenu
- Suppressed JSON run-config export for headless runs
-`ideal_counts` in JSON now honored by prompts; only `fetch_count` tracked for lands
- Documentation trimmed and updated; added sample config with ideal_counts
### Tagging updates
- New: Discard Matters theme – detects your discard effects and triggers; includes Madness and Blood creators; Loot/Connive/Cycling/Blood also add Discard Matters.
- New taggers:
- Freerunning → adds Freerunning and Cost Reduction.
This is the first stable release of the MTG Python Deckbuilder - a comprehensive command-line tool for building and analyzing Magic: The Gathering Commander/EDH decks.
## 🚀 Features
### Core Functionality
- **Deck Building**: Create and manage Commander/EDH decks with intelligent card suggestions
- **Theme Detection**: Automatically identify and suggest cards based on deck themes and strategies
- **Color Identity Support**: Filter cards based on Commander color identity rules
- **CSV File Management**: Efficient storage and retrieval of card data
- **Card Database**: Comprehensive MTG card database with regular updates
- **Instant Export**: Completed deck lists are automatically displayed for easy copy/paste to online deck builders like Moxfield
### Setup & Management
- **Initial Setup**: Automated download and processing of MTG card data
- **CSV File Tagging**: Automatically tag cards with themes and strategies
- **Commander Validation**: Verify commander legality and format compliance
### Planned Features
- **Price Checking**: From the initial unpolished build I have plans to leverage Scrython for price information (using cheapest print)
- **Deck Value**: From the price checking, there's plans to track the deck value, assign a max deck value, and a max per card value
- **Non-Singleton Cards**: Also from an unpolished build there's remnants for adding and tracking cards you can have multiple copies of (i.e. Nazgul or Hare Apparent) and use these as a "Hidden" theme
- **Further Tag Refinment**: I'm sure there's some missing themes or mis tags, there's honestly far too many cards for me to want to read through and make sure everything is correct, but this will be an evolving project
## 🐳 Docker Support
### Easy Deployment
- **Cross-platform**: Works on Windows, macOS, and Linux
- **No Python Required**: Run without installing Python locally
- **File Persistence**: Your decks and data persist between container runs
- **Interactive Terminal**: Full menu and keyboard interaction support