{"id":47516141,"url":"https://github.com/itworks99/hammerclock","last_synced_at":"2026-04-01T07:00:46.066Z","repository":{"id":293375816,"uuid":"971757840","full_name":"itworks99/hammerclock","owner":"itworks99","description":"Terminal-based chess clock for turn and phase based tabletop games","archived":false,"fork":false,"pushed_at":"2025-05-15T02:50:45.000Z","size":147,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T03:29:37.454Z","etag":null,"topics":["age-of-sigmar","bloodbowl","chess-clock","chessclock","kill-team-game","killteam","necromunda","tabletop","tabletop-games","tabletop-gaming","turn-based","warcry","warhammer"],"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/itworks99.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":"CONTRIBUTING.MD","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,"zenodo":null}},"created_at":"2025-04-24T02:39:50.000Z","updated_at":"2025-05-15T02:50:48.000Z","dependencies_parsed_at":"2025-05-15T03:29:46.992Z","dependency_job_id":"26f7d4ee-49a2-42e9-a27f-2a0534cf3939","html_url":"https://github.com/itworks99/hammerclock","commit_stats":null,"previous_names":["itworks99/hammerclock"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/itworks99/hammerclock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itworks99%2Fhammerclock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itworks99%2Fhammerclock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itworks99%2Fhammerclock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itworks99%2Fhammerclock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itworks99","download_url":"https://codeload.github.com/itworks99/hammerclock/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itworks99%2Fhammerclock/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31269180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T06:57:45.811Z","status":"ssl_error","status_checked_at":"2026-04-01T06:57:42.389Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["age-of-sigmar","bloodbowl","chess-clock","chessclock","kill-team-game","killteam","necromunda","tabletop","tabletop-games","tabletop-gaming","turn-based","warcry","warhammer"],"created_at":"2026-03-27T13:00:30.252Z","updated_at":"2026-04-01T07:00:46.045Z","avatar_url":"https://github.com/itworks99.png","language":"Go","funding_links":[],"categories":["\u003ca name=\"time-tracker\"\u003e\u003c/a\u003eTime trackers"],"sub_categories":[],"readme":"# Hammerclock\n\nA terminal-based UI (TUI) [chess clock](https://en.wikipedia.org/wiki/Chess_clock) and phase tracker application for tabletop games. It is designed with Warhammer 40K, Age of Sigmar, and other tabletop war games in mind, but can be used for any game that requires a timer and phase tracking.\n\n## Features\n- Support for multiple players with customizable player names\n- Tracks and manages turns, game phases, total elapsed time and individual time for each player\n- Bundled predefined rulesets, customizable game rules and phases\n- Logging for game sessions\n\n\u003cimg alt=\"Hammerclock Screenshot\" src=\"img.png\" width=\"600\"/\u003e\n\n####\n\u003cimg alt=\"Hammerclock Screenshot\" src=\"img_1.png\" width=\"600\"/\u003e\n\n## Installation\n\nDownload the latest release from the [GitHub repository](https://github.com/itworks99/hammerclock/releases).\n\n## Running\n\nBy default, the application searches for the options file (`default.json`) in the current directory. You can specify a different configuration file by using the `-o` flag.\n\n```bash\n./hammerclock                     # Run with default options\n./hammerclock -o /path/to/config.json   # Run with custom options\n```\n\n## Configuration\n\nThe application uses a JSON configuration file (default: `default.json`) to define its settings. The file has the following basic structure:\n\n```json\n{\n  \"default\": 0,\n  \"rules\": [ {} ],\n  \"playerCount\": 2,\n  \"playerNames\": [\n    \"Player 1\",\n    \"Player 2\"\n  ],\n  \"colorPalette\": \"warhammer\",\n  \"timeFormat\": \"AMPM\",\n  \"loggingEnabled\": true\n}\n```\n\n### General Configuration Options\n\n| Option           | Description                         | Values                                               |\n|------------------|-------------------------------------|------------------------------------------------------|\n| `default`        | Index of the default ruleset to use | Integer (index in the rules array)                   |\n| `playerCount`    | The number of players in the game   | Integer                                              |\n| `playerNames`    | The names of the players            | Array of strings (must match `playerCount`)          |\n| `colorPalette`   | The UI color theme to use           | `k9s`, `dracula`, `monokai`, `warhammer`, `killteam` |\n| `timeFormat`     | Time display format                 | `AMPM` or `24h`                                      |\n| `loggingEnabled` | Enable or disable session logging   | `true` or `false`                                    |\n\n## Game Rules\n\nThe `rules` section in the configuration file defines the different game rulesets available in Hammerclock. Each ruleset includes:\n\n```json\n{\n  \"rules\": [\n    {\n      \"name\": \"Warhammer 40K (10th Edition)\",\n      \"phases\": [\n        \"Command Phase\",\n        \"Movement Phase\",\n        \"Shooting Phase\",\n        \"Charge Phase\",\n        \"Fight Phase\",\n        \"End Phase\"\n      ],\n      \"oneTurnForAllPlayers\": false\n    },\n    {\n      \"name\": \"Chess\",\n      \"phases\": [],\n      \"oneTurnForAllPlayers\": true\n    }\n  ]\n}\n```\n\n### Rule Configuration Options\n\n| Option                 | Description                                 | Values                                          |\n|------------------------|---------------------------------------------|-------------------------------------------------|\n| `name`                 | The name of the game ruleset                | String                                          |\n| `phases`               | List of game phases specific to the ruleset | Array of strings                                |\n| `oneTurnForAllPlayers` | Whether all players take one turn together  | `true` or `false` (useful for games like Chess) |\n\n## Logs\n\nGame logs are written to `logs.csv` in the application directory, providing a record of game duration, phases, and player times.\n\n## Architecture\n\nFor details on the application's Model-View-Update (MVU) architecture, see the [ARCHITECTURE.MD](ARCHITECTURE.MD) file.\n\n## Contributing\n\nFor details on how to contribute to the project, see the [CONTRIBUTING.MD](CONTRIBUTING.MD) file.\n\n## License\n\nHammerclock is open source software. Please see the project repository for licensing information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitworks99%2Fhammerclock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitworks99%2Fhammerclock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitworks99%2Fhammerclock/lists"}