{"id":20027019,"url":"https://github.com/defective4/tui-mines","last_synced_at":"2026-05-06T16:04:36.799Z","repository":{"id":198716855,"uuid":"699782611","full_name":"Defective4/TUI-Mines","owner":"Defective4","description":"A Minesweeper clone designed to run entirely in terminal. The winning project of the October Coding Jam 2023","archived":false,"fork":false,"pushed_at":"2024-01-05T18:31:57.000Z","size":1465,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-12T17:15:39.161Z","etag":null,"topics":["cli","console","game","java","mines","minesweeper","terminal","tui"],"latest_commit_sha":null,"homepage":"","language":"Java","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/Defective4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2023-10-03T10:30:59.000Z","updated_at":"2024-04-11T11:54:36.000Z","dependencies_parsed_at":"2023-10-17T11:49:19.441Z","dependency_job_id":"449a40fe-49f0-4d49-a62d-c63d894c551f","html_url":"https://github.com/Defective4/TUI-Mines","commit_stats":null,"previous_names":["defective4/tui-mines"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Defective4%2FTUI-Mines","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Defective4%2FTUI-Mines/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Defective4%2FTUI-Mines/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Defective4%2FTUI-Mines/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Defective4","download_url":"https://codeload.github.com/Defective4/TUI-Mines/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241460058,"owners_count":19966516,"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":["cli","console","game","java","mines","minesweeper","terminal","tui"],"created_at":"2024-11-13T09:08:48.998Z","updated_at":"2026-05-06T16:04:31.776Z","avatar_url":"https://github.com/Defective4.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg alt=\"logo\" height=\"128\" src=\"img/logo.png\" width=\"128\"/\u003e  \n\n![](https://img.shields.io/github/last-commit/defective4/TUI-Mines/master?style=flat-square)   [![](https://img.shields.io/github/actions/workflow/status/defective4/tui-mines/maven.yml?style=flat-square)](https://github.com/Defective4/TUI-Mines/actions)   ![](https://img.shields.io/github/license/defective4/TUI-Mines?style=flat-square)  [![](https://img.shields.io/github/v/release/defective4/tui-mines?style=flat-square)](https://github.com/Defective4/TUI-Mines/releases)     \n[Releases](https://github.com/Defective4/TUI-Mines/releases) | [**Installation**](#-installation) | [Share your theme/replay](#-share-your-theme-or-replay)\n\n# ![info](img/info.png) Description\n\nTUI Mines is a game created for the **Java Jam** hosted at [Java Community](https://discord.com/invite/X3NmMgzFKF)\nDiscord\nserver.  \nIt's a Minesweeper clone designed to run entirely in terminal.  \nThe game also has its own terminal emulator that can be used as an alternative.\n\n# ![features](img/features.png) Features\n\n- Playable without any GUI in a headless environment\n- All classic mechanics from Minesweeper, including chording\n- Ability to customize the difficulty\n- Theming - choose premade themes or create your own!\n- Replays - record, replay and share your games\n- [User driven themes and replays repository](https://github.com/Defective4/TUI-Mines-Repo)\n- Discord integration (Rich presence)\n\n# ![planned](img/star.png) Planned\n- [ ] Live multiplayer\n- [ ] More game styles/modes\n\n# ![installation](img/install.png) Installation\n\n|           Contents            |\n|:-----------------------------:|\n| [Requirements](#requirements) |\n|      [Windows](#windows)      |\n|        [Linux](#linux)        |\n|        [Other](#other)        |\n\n## Requirements\n\nOn all platforms the Java Runtime Environment is required to run the TUI Mines.  \nThe lowest required version of JRE is **1.8**.  \nThe game was tested on all JRE versions from `1.8` to `17` inclusive.\n\n## Windows\n\nTo play TUI Mines on Windows it is recommended to download the executable file (.exe) from\nthe [Releases page](https://github.com/Defective4/TUI-Mines/releases).  \nAlternatively you can download the universal JAR file.\n\n## Linux\n\n### (Recommended) Install from Debian repository\n\nYou can download the game from my Debian repository.\nTo do so:\n\n1. Add the repository to your system\n\n```shell\nsudo curl https://debian.racuszki.pl/api/packages/Defective/debian/repository.key -o /etc/apt/trusted.gpg.d/github-Defective.asc\necho \"deb https://debian.racuszki.pl/api/packages/Defective/debian stable main\" | sudo tee -a /etc/apt/sources.list.d/github-defective.list\nsudo apt update\n```\n\n2. Install TUI Mines using APT\n\n```shell\nsudo apt-get install tui-mines\n```\n\n### Manual installation\n\nTo install TUI Mines without adding any repositories you can download the Debian package (or universal JAR if you don't\nwant to install/don't have root privileges) from the [Releases page](https://github.com/Defective4/TUI-Mines/releases).\n\n## Other\n\nTUI Mines should be able to run on any platform that can run Java applications.  \nIt was confirmed to run in Termux on Android.\n\n# ![build](img/build.png) Building from source\n\n## Requirements\n\nYou have to install [Apache Maven](https://maven.apache.org/download.cgi) and **Java Development Kit 1.8** (I\nrecommend [Adoptium](https://adoptium.net/temurin/archive/?version=8) for Windows users) to compile TUI Mines from\nsource.  \nAlso [Git](https://git-scm.com/downloads) is recommended to clone the repository, but you can also download it manually.\n\n## Building\n\n1. Clone/Download and navigate to the repository\n   ```shell\n   git clone https://github.com/Defective4/TUI-Mines\n   cd TUI-Mines\n   ```\n2. Build the project using Maven\n    ```shell\n    mvn clean package\n    ``` \n3. After successful build you will find built exe  \n   and `jar-with-dependencies` in the `tui-mines-game/target`\n   directory\n\n# ![share](img/share.png) Share your theme or replay\n\n### [User assets repository](https://github.com/Defective4/TUI-Mines-Repo)\n\nYou can share your themes and replays in a separate repository (see link above).  \nInstructions on how to share are also included.  \nAll shared assets are available for viewing and downloading using **in-game browser**.\n\n# ![cogs](img/cogs.png) Technical information\n\n## Libraries used\n\n- **[Lanterna](https://github.com/mabe02/lanterna)** - curses-like library for terminal user interfaces\n- [GSON](https://github.com/google/gson) - JSON parser library. Used to store user preferences and themes\n- [sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) - SQLite driver for JDBC. Used to store leaderboards.\n- ~~[discord-rpc](https://github.com/Vatuu/discord-rpc) - Discord Rich Presence integration.~~  \n  Replaced with custom implementation.  \n  See `discord-presence-min` module.\n\n### Tools\n\n- Sound effects created using [LMMS](https://lmms.io/)\n- All graphics were created in [Inkscape](https://inkscape.org/)\n\n## Replay file format\n\nTUI Mines uses its own file format for storing replays.  \nIt is documented [here](Replay%20format.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdefective4%2Ftui-mines","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdefective4%2Ftui-mines","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdefective4%2Ftui-mines/lists"}