{"id":20058829,"url":"https://github.com/ably-labs/chessdemo","last_synced_at":"2026-05-12T10:33:26.855Z","repository":{"id":53095165,"uuid":"521244017","full_name":"ably-labs/chessdemo","owner":"ably-labs","description":"A simple multi-user chess program","archived":false,"fork":false,"pushed_at":"2023-06-01T20:19:44.000Z","size":76,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-01-12T22:08:45.170Z","etag":null,"topics":["chess","game","pubsubclient"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ably-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2022-08-04T11:44:19.000Z","updated_at":"2023-08-10T01:03:19.000Z","dependencies_parsed_at":"2024-06-21T11:46:14.669Z","dependency_job_id":"e7c104dd-a270-4044-bac0-4cac3aa4c5c5","html_url":"https://github.com/ably-labs/chessdemo","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ably-labs%2Fchessdemo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ably-labs%2Fchessdemo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ably-labs%2Fchessdemo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ably-labs%2Fchessdemo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ably-labs","download_url":"https://codeload.github.com/ably-labs/chessdemo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241488154,"owners_count":19970826,"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":["chess","game","pubsubclient"],"created_at":"2024-11-13T13:04:31.820Z","updated_at":"2026-05-12T10:33:21.834Z","avatar_url":"https://github.com/ably-labs.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# chessdemo\n\n[![Go](https://github.com/ably-labs/chessdemo/actions/workflows/go.yml/badge.svg)](https://github.com/ably-labs/chessdemo/actions/workflows/go.yml)\n\na simple demo using ably realitime API to transmit chess moves.\n\n## Dependencies\n\n- go 1.19\n\n## Installation\n\n`go install github.com/ably-labs/chessdemo@latest`\n\nThis will install the `chessdemo` in you `$(HOME)/go/bin` directory.\n\n\nAlternatively, if you don't have Go installed, you can just grab \npre-complied executables for your machine from \n[here](https://github.com/ably-labs/chessdemo/releases).\n\nOtherwise \n\n## Playing\n\n```\nexport ABLY_KEY=xxxxxxxxxxxxxxxxx\n~/go/bin/chessdemo -name myname -game gameId\n```\n\nIf you are the first player in the gameID game, then you play white.\nIf you are the second, you play black.\nOtherwise you are a spectator.\n\nYou can force yourself to be a spectator by usig the `-watch` flag.\n\nInput can be any move in [algebraic notation](https://en.wikipedia.org/wiki/Algebraic_notation_(chess)).\nor:\n- `resign`\n- `show` which displays the positon in the default browser\n  ![svg image](chess716559414.svg)\n\n\n## Using a chess engine\nFiguring out good moves can be difficult. So why not use the number-crunching\npower of your computer to do it for you.\n\nTo do this, use the `-engine` flag.\n\n\n```\nchessdemo -name myname -game gameId -engine stockfish\n```\n\nYou can use [stockfish](https://stockfishchess.org/) (as above) or any UCI compliant chess engine.\n\nTo install stockfish on a mac, run\n\n```\nbrew install stockfish\n```\n\nOn Ubuntu run\n```\nsudo apt-get -y install stockfish\n```\n\n## Example Session\n\n```\n% ./chessdemo -name amnon\nyou are white\nWaiting for an opponent to arrive.\nYour opponent bill is playing black.\n1: e4\n\n A B C D E F G H\n8♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜\n7♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟\n6- - - - - - - -\n5- - - - - - - -\n4- - - - ♙ - - -\n3- - - - - - - -\n2♙ ♙ ♙ ♙ - ♙ ♙ ♙\n1♖ ♘ ♗ ♕ ♔ ♗ ♘ ♖\n\nf6\n\n A B C D E F G H\n8♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜\n7♟ ♟ ♟ ♟ ♟ - ♟ ♟\n6- - - - - ♟ - -\n5- - - - - - - -\n4- - - - ♙ - - -\n3- - - - - - - -\n2♙ ♙ ♙ ♙ - ♙ ♙ ♙\n1♖ ♘ ♗ ♕ ♔ ♗ ♘ ♖\n\n2: Nc3\n\n A B C D E F G H\n8♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜\n7♟ ♟ ♟ ♟ ♟ - ♟ ♟\n6- - - - - ♟ - -\n5- - - - - - - -\n4- - - - ♙ - - -\n3- - ♘ - - - - -\n2♙ ♙ ♙ ♙ - ♙ ♙ ♙\n1♖ - ♗ ♕ ♔ ♗ ♘ ♖\n\ng5\n\n A B C D E F G H\n8♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜\n7♟ ♟ ♟ ♟ ♟ - - ♟\n6- - - - - ♟ - -\n5- - - - - - ♟ -\n4- - - - ♙ - - -\n3- - ♘ - - - - -\n2♙ ♙ ♙ ♙ - ♙ ♙ ♙\n1♖ - ♗ ♕ ♔ ♗ ♘ ♖\n\n3: Qh5\n\n A B C D E F G H\n8♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜\n7♟ ♟ ♟ ♟ ♟ - - ♟\n6- - - - - ♟ - -\n5- - - - - - ♟ ♕\n4- - - - ♙ - - -\n3- - ♘ - - - - -\n2♙ ♙ ♙ ♙ - ♙ ♙ ♙\n1♖ - ♗ - ♔ ♗ ♘ ♖\n\n\n1. e4 f6 2. Nc3 g5 3. Qh5# 1-0\n```\n\n\n## Bugs\n- All players require my Ably API Key\n- No way to offer or accept a draw\n- clunky user interface\n- internally we should use UCI chess notation, rather than algebriac, which is harder to parse, more dependent on context,\nand not understood by various chess libraries. Algebriac notation should only be used for user interaction.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fably-labs%2Fchessdemo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fably-labs%2Fchessdemo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fably-labs%2Fchessdemo/lists"}