{"id":22982837,"url":"https://github.com/friedev/boost","last_synced_at":"2025-04-02T10:20:15.848Z","repository":{"id":264923837,"uuid":"894537453","full_name":"friedev/boost","owner":"friedev","description":"CLI implementation of the \"Boost\" board game","archived":false,"fork":false,"pushed_at":"2024-11-26T14:42:38.000Z","size":116,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-08T01:28:01.123Z","etag":null,"topics":["board-game","cli","game"],"latest_commit_sha":null,"homepage":"https://frie.dev/boost","language":"Python","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/friedev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2024-11-26T14:28:53.000Z","updated_at":"2024-11-26T18:36:57.000Z","dependencies_parsed_at":"2024-11-26T20:42:54.850Z","dependency_job_id":null,"html_url":"https://github.com/friedev/boost","commit_stats":null,"previous_names":["friedev/boost"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friedev%2Fboost","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friedev%2Fboost/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friedev%2Fboost/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/friedev%2Fboost/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/friedev","download_url":"https://codeload.github.com/friedev/boost/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246794206,"owners_count":20834938,"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":["board-game","cli","game"],"created_at":"2024-12-15T02:33:17.938Z","updated_at":"2025-04-02T10:20:15.818Z","avatar_url":"https://github.com/friedev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Boost\n\nOriginal description of Boost:\n\n\u003e Boost is a turn-based abstract strategy board game like checkers, chess, Xiangqi, or Arimaa.\n\u003e It was designed to be new and interesting for humans to play while still admitting a simple AI and supporting various homework assignments on algorithms and data structures in the SOFT 260 course at UNL.\n\nBoost was designed and first implemented by [Dr. Brady J. Garvin](https://cse.unl.edu/~bgarvin).\nThe original implementation was a Progressive Web App made with [React.js](https://reactjs.org/).\n\nThis is a Python implementation that closely conforms to the original rules of the game.\nIt can run interactively in a terminal session, or as a [Discord](https://discord.com) bot.\n\nFor a transcription of the rules, see [RULES.md](RULES.md).\n\n## Installation\n\n```sh\npip install boost-game\n```\n\nFor graphics on Discord, install `librsvg` (on Arch-based systems) or `librsvg2-bin` (on Debian-based systems).\nAlternatively, if Chromium or Chrome is installed and available on your `PATH`, it can be used instead, although browser-based rendering is more resource intensive.\n\n## Usage\n\n### Terminal\n\n```sh\nboost\n```\n\nTo see a list of game commands, enter `help` in-game.\n\nFor more usage information:\n\n```sh\nboost --help\n```\n\n### Discord Bot\n\nTo serve the Boost Discord bot, you must first create a bot account via the [Discord Developer Portal](https://discord.com/developers/applications).\nThis is a standard process and you can find documentation for it online.\n\nThen:\n\n- Save your Discord bot token to a file named `token.txt` in the repo directory.\n- Run `./bot.sh` (or `./bot.sh\u0026` to run the bot in the background).\n- Invite the bot to the server(s) you wish to use it (via the developer portal).\n\nThe bot needs the following permissions:\n\n- View Channels\n- Send Messages\n- Attach Files (optional; required for graphics support)\n\nAfter inviting the bot to a server, you can view a list of commands by sending `/boost help` in a channel the bot can read and send messages in.\n\n## Troubleshooting\n\nIf you're using RSVG and the Discord bot is displaying a board with no pieces, try setting `XLINK` to `True` in `graphics/board_svg.py`.\n(Change the line with `XLINK = False` to `XLINK = True`.)\nEventually, this will be made into a command line switch.\n\n## Contributing\n\nThis Boost implementation is being developed by [Aaron Friesen](https://maugrift.com) as a fun side project, so don't expect incredible levels of polish.\nHowever, I am open to issues and pull requests!\n\nIf you want to submit a PR, please follow these guidelines:\n\n- Run the game (both CLI and Discord bot if possible) to check for bugs.\n  You can utilize the debug rulesets in `boost.py` to check certain hard-to-test cases, such as victory.\n- Copy the license notice from `boost.py` into any new Python files you create.\n- Run some Python linters on the files you've changed and ensure there are as few lint issues as possible.\n\nIf you want to contribute but aren't sure what to work on, you can find some ideas in `TODO.md`.\n\n## License\n\nThis Boost implementation is licensed under the [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.en.html).\nThe original implementation was closed source and unlicensed, but this implementation has received written permission from Dr. Garvin to be publicly distributed.\n\nAmong other things, the AGPL implies that if you want to fork the repo and run your own derivative Discord bot, you need to disclose the source code of your implementation.\nTo do this, I recommend adding a command to the bot (similar to the `/boost info` for this bot) that provides a link back to your repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffriedev%2Fboost","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffriedev%2Fboost","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffriedev%2Fboost/lists"}