Skip to content

Repository files navigation

Commander Spellbook is a combo database, wiki and engine for Magic: The Gathering. It's designed to be a one-stop shop for all the information you might want about a combo, whether it's a deck you're building or one you're playing against.

This is an Open Source project, and we welcome contributions from the community. If you'd like to contribute, please read the Contributing section below.

Architecture

Commander Spellbook consists of three main components:

  • A PostgreSQL database containing all the combo data
  • A Django backend that exposes the data via a REST API
  • A React frontend that consumes the API and displays the content in a user-friendly way
    • A TS/JS generated client can be found on npm

Contributing

Anyone is welcome to contribute to Commander Spellbook. You can contribute in a number of ways:

Contribution Guidelines

You can find the contribution guidelines for the backend here.

Development setup

Dependencies and environments are managed with uv; the repository root keeps a small requirements.txt holding the tooling that bootstraps everything else. From a fresh clone:

pip install -r requirements.txt   # uv + pre-commit
pre-commit install                # git hooks: lint and type checks on commit, tests on push
cd backend && uv sync             # create the backend .venv

The pre-commit hooks run the same checks as the CI, so problems surface before you push rather than after a pipeline run. See Git hooks for what runs when and how to skip a hook, and Getting Started for the full walkthrough.

Documentation

You can read some Markdown documentation here.

Releases

Used by

Contributors

Languages