Gemini Project Context: ScryFall-UI
Provides Gemini AI with project context, structure, and workflow for assisting with a Magic: The Gathering desktop app.
What this file does
Provides Gemini AI with project context, structure, and workflow for assisting with a Magic: The Gathering desktop app.
When to use it
- Onboarding a new AI assistant to the codebase
- Setting up a Gemini context file for any Python GUI project
- Documenting API integrations and project layout for collaborators
Assumes this stack
Gemini Project Context: ScryFall-UI
This file provides context for the Gemini AI assistant to understand and effectively assist with this project.
Project Overview
This project is a Python-based desktop application with a graphical user interface (GUI). Its primary purpose is to interact with the Scryfall and Archidekt APIs. Users can likely search for Magic: The Gathering cards, view card details (including images), and manage or view decklists from Archidekt.
Key Technologies
- Language: Python
- APIs:
- Scryfall: For Magic: The Gathering card data and images. The core logic is likely in
core/scryfall_api.py. - Archidekt: For decklist fetching and management. Test files like
test_archidekt.pysuggest its integration.
- Scryfall: For Magic: The Gathering card data and images. The core logic is likely in
- GUI Framework: A Python GUI framework is used (e.g., Tkinter, PyQt, PySide). The specific framework can be identified by inspecting the imports in the
ui/directory files. - Dependencies: Managed via
Pipfile(usingpipenv) and arequirements.txtis also present.
Project Structure
main.py: The main entry point for the application.core/: Contains the core application logic, separated from the UI.scryfall_api.py: Handles interactions with the Scryfall API.image_loader.py: Manages downloading and caching card images.
ui/: Contains all GUI-related code.main_window.py: The main application window.detail_window.py: A window to show specific card details.
utils/: Contains helper functions and other utilities.resources/cache/: Caching directory, likely for images to reduce API calls.test_*.py: Python test files, suggesting the use of a framework likepytest.
Development Workflow
- Running the application: The application is likely started by running
python main.py. - Managing Dependencies: To add or remove dependencies,
pipenvshould be used, which will updatePipfileandPipfile.lock.requirements.txtmay need to be regenerated afterwards (e.g.,pipenv lock -r > requirements.txt). - Running Tests: Based on the file naming convention, tests can likely be run using the
pytestcommand from the project root.
What's inside
5 sections: overview, technologies, structure, workflow, and key files list
Change this for your project
- Replace
MrFlou/ScryFall-UIwith your own repository name - Replace
core/scryfall_api.pywith your actual API module path - Replace
ui/main_window.pywith your main window file path
Where it goes
Keep it in your repository where the agent or team that needs it will read it.
Related Documents
Totem — Development Rules
Defines team-wide conventions for a pnpm monorepo: branch strategy, commit rules, tooling, and a mandatory knowledge-search workflow before coding.
MechCAD-MLLM
Proposes a MLLM + dual-decoder architecture for mechanical CAD generation, combining Drawing2CAD and CAD-GPT ideas.
Prompt Generator
Generates Stable Diffusion and Flux prompts via Qwen3-8B on Ollama, with a Gradio UI and CLI.
Agent Instructions
Defines a three-layer architecture (directive, orchestration, execution) for AI agents that self-anneal errors and update living SOPs.