{"id":20562457,"url":"https://github.com/senryoku/draftmancer","last_synced_at":"2025-04-05T13:07:59.278Z","repository":{"id":37005134,"uuid":"186583889","full_name":"Senryoku/Draftmancer","owner":"Senryoku","description":"Multiplayer MTG Limited Simulator","archived":false,"fork":false,"pushed_at":"2024-10-29T11:16:53.000Z","size":2125072,"stargazers_count":86,"open_issues_count":24,"forks_count":32,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-10-29T12:33:46.795Z","etag":null,"topics":["draft","magic-the-gathering","mtg","mtga","typescript"],"latest_commit_sha":null,"homepage":"https://draftmancer.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Senryoku.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},"funding":{"github":"Senryoku"}},"created_at":"2019-05-14T08:55:05.000Z","updated_at":"2024-10-22T07:03:15.000Z","dependencies_parsed_at":"2024-11-10T09:17:39.310Z","dependency_job_id":"8fad9d01-d080-45a2-a20e-fc25b8eca3d1","html_url":"https://github.com/Senryoku/Draftmancer","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Senryoku%2FDraftmancer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Senryoku%2FDraftmancer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Senryoku%2FDraftmancer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Senryoku%2FDraftmancer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Senryoku","download_url":"https://codeload.github.com/Senryoku/Draftmancer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247339158,"owners_count":20923014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["draft","magic-the-gathering","mtg","mtga","typescript"],"created_at":"2024-11-16T04:10:57.708Z","updated_at":"2025-04-05T13:07:59.254Z","avatar_url":"https://github.com/Senryoku.png","language":"TypeScript","funding_links":["https://github.com/sponsors/Senryoku"],"categories":[],"sub_categories":[],"readme":"# Draftmancer\n\n## Contact\n\nJoin the discord for development related discussions: https://discord.gg/XscXXNw\n\n## How to run the project locally\n\n-   Clone repository (`git clone https://github.com/Senryoku/Draftmancer.git`)\n-   Open repository (`cd Draftmancer`)\n-   Execute `npm install` to install dependencies.\n-   Execute `npm run build` to build the server using typescript and the client using webpack (for production).\n-   Execute `npm start` to start the server (which also serves the webapp).\n-   Navigate to `http://localhost:3000/`\n\n### Development tips\n\n-   Running `npm run start-dev` instead of `npm start` will restart the node server on any changes. (Install nodemon globally with `npm install nodemon -g`)\n-   Use `npm run build-client-dev` to watch for changes in the client js code and automatically re-build it.\n-   Use `npm run build-server-dev` to watch for changes in the server typescript code and automatically re-build it.\n\n-   Setting the environment variable `DISABLE_PERSISTENCE` to `TRUE` (one can use a `.env` file for development) will disable retrieving/saving the states of Connections/Sessions between server execution from disk (see `src/Persistence.ts`).\n\n### Tests\n\n-   `npm test` runs all tests in the `test` folder (non recursive). This is the command run by GitHub actions on each commit.\n-   `npm run manualtest` runs tests from the `test/manual` folder, it contains additional (and long) statistical tests. These are not included in the automatic test suite.\n-   `npm run fronttest` runs tests from the `test/frontend` folder, it contains additional end-to-end tests, including the client. These are not included in the automatic test suite.\n\nAdd `-bail` (e.g. `npm run test-bail`) to stop on the first error.\n\n## Notes on Arena Importer\n\n-   Splits Cards (Ravnica) needs both card names, e.g. Discovery // Dispersal\n-   Adventures (ELD) and Dual Faces (IXL) need only one.\n-   AKR Splits Cards uses triple forward slashes (///) instead of double.\n\n## Custom Set format\n\nSee cubeformat.html\n\n## Acknowledgement\n\n-   Card data and images provided by [Scryfall](https://scryfall.com/)\n-   Data used for automatic collation from https://github.com/taw/magic-sealed-data ; Used https://www.lethe.xyz/mtg/collation/ as reference for manual implementations.\n-   Bots from https://github.com/CubeArtisan/mtgml\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsenryoku%2Fdraftmancer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsenryoku%2Fdraftmancer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsenryoku%2Fdraftmancer/lists"}