{"id":28023815,"url":"https://github.com/a-ws-m/ygo-draft","last_synced_at":"2026-04-29T17:02:17.835Z","repository":{"id":291588475,"uuid":"967557827","full_name":"a-ws-m/ygo-draft","owner":"a-ws-m","description":"A web app for drafting Yu-Gi-Oh! decks.","archived":false,"fork":false,"pushed_at":"2026-02-21T17:39:24.000Z","size":2282,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-21T23:30:30.219Z","etag":null,"topics":["card-game","drafting","supabase","svelte","yu-gi-oh","yugioh"],"latest_commit_sha":null,"homepage":"https://a-ws-m.github.io/ygo-draft/","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/a-ws-m.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/funding.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"buy_me_a_coffee":"a.ws.m"}},"created_at":"2025-04-16T16:30:08.000Z","updated_at":"2026-02-21T17:37:31.000Z","dependencies_parsed_at":"2025-05-19T21:33:34.936Z","dependency_job_id":"d3822bc7-1f55-4f2b-8c65-8a926cac6664","html_url":"https://github.com/a-ws-m/ygo-draft","commit_stats":null,"previous_names":["a-ws-m/ygo-draft"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/a-ws-m/ygo-draft","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-ws-m%2Fygo-draft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-ws-m%2Fygo-draft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-ws-m%2Fygo-draft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-ws-m%2Fygo-draft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/a-ws-m","download_url":"https://codeload.github.com/a-ws-m/ygo-draft/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-ws-m%2Fygo-draft/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32367741,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"online","status_checked_at":"2026-04-28T02:00:07.250Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["card-game","drafting","supabase","svelte","yu-gi-oh","yugioh"],"created_at":"2025-05-11T01:28:47.955Z","updated_at":"2026-04-29T17:02:17.829Z","avatar_url":"https://github.com/a-ws-m.png","language":"Svelte","funding_links":["https://buymeacoffee.com/a.ws.m"],"categories":[],"sub_categories":[],"readme":"\u003cdiv class=\"title-block\" style=\"text-align: center;\" align=\"center\"\u003e\n\n# YGO Draft\n\u003cp\u003e\u003cimg title=\"ygo draft logo\" src=\"static/favicon.svg\" height=\"200\" \u003e\u003c/p\u003e\n\n\u003c/div\u003e\n\nA web application for creating and participating in custom Yu-Gi-Oh! card drafts with your friends. Upload your cube, configure your draft settings, and draft cards in real-time.\n\n## Features\n\n- **Custom Cubes**: Upload your Yu-Gi-Oh! cube in CSV format\n- **Multiple Draft Formats**: Support for Winston Draft and Rochester Draft\n- **Pack Rarity Customisation**: Choose how many cards of each rarity are in a pack\n- **Custom Card Rarities**: You choose how rare each card should be, or just use the Master Duel rarities.\n- **Real-time Drafting**: Draft cards with friends with real-time updates\n- **Card Visualisation**: View your drafted deck with card images and statistics\n- **YDK Export**: Download your drafted deck in YDK format for use in simulators\n- **Draft Statistics**: Analyse your draft with built-in charts and analytics\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js (v18.x or later)\n- pnpm package manager\n\n### Installation\n\n1. Clone the repository\n```bash\ngit clone https://github.com/a-ws-m/ygo-draft.git\ncd ygo-draft\n```\n\n2. Install dependencies\n```bash\npnpm install\n```\n\n3. Set up your environment variables\n```bash\ncp .env.example .env\n```\n\n4. Update the .env file with your Supabase credentials\n\n5. Start the development server\n```bash\npnpm dev\n```\n\n## Usage\n\n### Creating a Draft\n\n1. Visit the home page\n2. Upload your cube CSV file (you can create one at [YGOProdeck Cube Builder](https://ygoprodeck.com/cube/))\n3. Configure your draft settings:\n   - Select a draft method (Winston, Rochester or Grid)\n   - Set the number of players\n   - Configure additional settings based on the draft method\n4. Start the draft and share the URL with other players\n\n### Participating in a Draft\n\n1. Open the shared draft URL\n2. Wait for all players to join\n3. The draft creator will start the draft when everyone is ready\n4. Follow the on-screen instructions to draft cards based on the selected method\n\n## Draft Methods\n\n### Winston Draft\n\nIn Winston Draft, cards are arranged into piles. On your turn:\n1. Look at the first pile\n2. Choose to either take that pile or pass to the next pile\n3. If you pass on all piles, you must take a card from the top of the pool deck\n4. After your selection, add a card from the deck to each pile you passed\n\n### Rochester Draft\n\nIn Rochester Draft:\n1. Cards are laid out face up in \"packs\"\n2. Players take turns selecting one card at a time from the available pack\n3. The direction of picking reverses each round\n4. When a pack is empty, a new one is opened\n\n### Grid Draft\n\nIn Grid Draft:\n1. Cards are arranged face up in a grid (Default is 3×3)\n2. Players take turns to select a row/column of the grid, adding those cards to their drafted deck\n3. Replenish rows/columns with new cards from the pool\n4. Continue until each player has desired number of cards\n\n### Asynchronous Draft\n\nIn Asynchronous Draft:\n1. Players draft independently at their own pace without needing to coordinate schedules\n2. Each player opens their own packs and selects cards\n3. Once a card is drafted by a player, it's no longer available to others (unless you enable `Allow overlap in player packs`)\n4. Players can join and make picks whenever they have time\n5. Draft continues until all players have completed their selections\n\n## Technologies\n\n- [Svelte](https://svelte.dev/) and [SvelteKit](https://kit.svelte.dev/) - Frontend framework\n- [Tailwind CSS](https://tailwindcss.com/) - Styling\n- [Supabase](https://supabase.com/) - Backend, database, and real-time functionality\n- [ChartJS](https://www.chartjs.org) - Data visualization\n- [PapaParse](https://www.papaparse.com/) - CSV parsing\n- [Fuzzy-search](https://github.com/wouterrutgers/fuzzy-search) - Fuzzy searching for card names/descriptions\n- [Feather icons](https://feathericons.com/) - Beautiful, open source icons\n- [Swiper](https://swiperjs.com/) - Card carousel display\n- [TippyJS](https://atomiks.github.io/tippyjs/) - Fancy tooltips\n\n## Contributing\n\nWe welcome contributions to YGO Draft! Please check out our contributing guidelines for details on how to get started.\n\nFor bug reports and feature requests, please [open an issue](https://github.com/a-ws-m/ygo-draft/issues) on GitHub.\n\n\n## Changelog\n\n- [19/05/2025] I have disabled sign in with OAuth for now as there is no advantage to doing this compared to signing in anonymously. I want to avoid storing any user data until it becomes necessary to do that for some functionality (e.g. saving your own cubes). If you previously signed in with your Discord/GitHub account, your data has been deleted from Supabase.\n\n## License\n\nThis project is licensed under the AGPLv3 License - see the LICENSE file for details.\n\n## Acknowledgments\n\n- [YGOProdeck](https://ygoprodeck.com/) for their card database and cube builder\n- Skully and Retrorage for the default cubes.\n- All contributors and players who have helped test and improve this application\n\n---\n\nCreated by [a-ws-m](https://github.com/a-ws-m)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-ws-m%2Fygo-draft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fa-ws-m%2Fygo-draft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-ws-m%2Fygo-draft/lists"}