Defines the base card data loaded from CSV files.

interface CSVCard {
    csv_extra?: { [key: string]: string };
    filename: string;
    finish: "normal" | "foil" | "etched";
    name?: string;
    object: "card";
    quantity: number;
    scryfall_id: string;
    user_lang?: string;
    user_tags: string[];
}
Hierarchy
Index

Properties

csv_extra?: { [key: string]: string }

Extra CSV fields not processed in CardDB conversion. These fields are added to card entries on export.

filename: string

Associated CSV filename.

finish: "normal" | "foil" | "etched"

Finish variation if any.

name?: string

Card name when defined in CSV file.

object: "card"
quantity: number

Total count of this card.

scryfall_id: string

Scryfall ID / UUID.

user_lang?: string

Language code from external user managed source / CSV file. This is metadata and various online collection services allow this to be freely set by the user, so it may not correlate to actual associated Scryfall ID / data.

user_tags: string[]

User or platform derived categorization tags.

Populated opportunistically during CSV import from platform-specific fields (IE for Archidekt Category / Secondary Category for deck exports or Tags for collection export). Not all platforms provide tag or category data. Values are normalized to lowercase and trimmed.

Tags that case-insensitively match Scryfall keywords for the card are excluded to avoid semantic duplication (IE Cycling vs cycling). Tags that case-insensitively match the normalized type line are also excluded.

This field is derived and non-authoritative:

  • Source CSV values are preserved verbatim in csv_extra.
  • user_tags is ignored when exporting CardDBs back to CSV.
  • user_tags is included in export-llm output for semantic enrichment.

Always defined; empty array indicates no tags were derived.