git_game_show 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: d79381fcfc45667688aa066066dcfcaf8c6919d3536f74fd74e45d219cf36a3a
4
+ data.tar.gz: 132412fc5067777c302dc3823d6df63971bb7c4e8f457a91f8a36232d8d8b9d8
5
+ SHA512:
6
+ metadata.gz: d0887291e1c5e56acb46c35e029083cbb1d1e0f0472399bdb65840d747730e6b7e92aa69b2b72fe1c74db8f55ade68aa98b116397ae47a186093c684cfa672ad
7
+ data.tar.gz: ca47ad7efd8c54e78f178e21320c12c4505af6bea297d0bc06c656aa2d203ed1511ae76144dd036cbd01d5621581fabb0b8396f24a7efde28f28f2b8f514a141
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Justin Paulson
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,110 @@
1
+ # Git Game Show
2
+
3
+ A multiplayer trivia game based on Git repository commit history.
4
+
5
+ ## Overview
6
+
7
+ Git Game Show transforms your project's Git commit history into a live, multiplayer trivia game. One user hosts a session, other players join remotely, and the system rotates through rounds of different question-based "mini-games," awarding points and declaring a final winner.
8
+
9
+ ## Features
10
+
11
+ - **Host a Game**: Create a game server for others to join
12
+ - **Join Games**: Connect to games hosted by others
13
+ - **Multiple Mini-Games**: Different question types based on Git history
14
+ - **Real-time Multiplayer**: Compete with others over WebSockets
15
+ - **Scoring System**: Track points and determine a winner
16
+
17
+ ## Installation
18
+
19
+ ### Option 1: Install as a Ruby Gem (Recommended)
20
+
21
+ ```bash
22
+ gem install git_game_show
23
+ ```
24
+
25
+ This will install the `git-game-show` command globally on your system.
26
+
27
+ ### Option 2: Manual Installation
28
+
29
+ ```bash
30
+ # Clone the repository
31
+ git clone https://github.com/justinpaulson/git_game_show.git
32
+ cd git_game_show
33
+
34
+ # Install dependencies
35
+ bundle install
36
+
37
+ # Build and install the gem locally
38
+ rake install
39
+ ```
40
+
41
+ ## Usage
42
+
43
+ ### Hosting a Game
44
+
45
+ To host a game session:
46
+
47
+ If installed as a gem:
48
+ ```bash
49
+ git-game-show host --repo-path /path/to/git/repo
50
+ ```
51
+
52
+ If installed from source:
53
+ ```bash
54
+ git-game-show host --repo-path /path/to/git/repo
55
+ ```
56
+
57
+ Options:
58
+ - `--repo-path`: Optional. Path to the Git repository to use (defaults to current directory).
59
+ - `--port`: Optional. Port to run the server on (defaults to 3030).
60
+ - `--rounds`: Optional. Number of rounds to play (defaults to 3).
61
+ - `--password`: Optional. Password for players to join (auto-generated if not provided).
62
+
63
+ A secure join link will be generated automatically with a memorable random password. Just share this link with your players.
64
+
65
+ ### Joining a Game
66
+
67
+ To join an existing game session:
68
+
69
+ If installed as a gem:
70
+ ```bash
71
+ git-game-show join "gitgame://host_ip:port/password" --name yourname
72
+ ```
73
+
74
+ If installed from source:
75
+ ```bash
76
+ git-game-show join "gitgame://host_ip:port/password" --name yourname
77
+ ```
78
+
79
+ Parameters:
80
+ - `join link`: The secure link provided by the host (includes host address and password)
81
+ - `--name`: Optional. Your display name in the game. If not provided, you'll be prompted.
82
+
83
+ You can also simply run `git-game-show` and select "Join a game" from the interactive menu.
84
+
85
+ ## Mini-Games
86
+
87
+ The game includes several mini-games based on Git repository data:
88
+
89
+ 1. **Author Quiz**: Guess which team member made each commit
90
+ 2. **Commit Message Quiz**: Match the commit message to the right changed file
91
+ 3. **Commit Timeline**: Put commits in chronological order
92
+ 4. **Complete the Commit**: Complete the missing part of commit messages
93
+
94
+ ## Requirements
95
+
96
+ - Ruby 2.7 or higher
97
+ - A Git repository with commit history
98
+ - Network access between host and players
99
+
100
+ ## License
101
+
102
+ MIT
103
+
104
+ ## Contributing
105
+
106
+ 1. Fork the repository
107
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
108
+ 3. Commit your changes (`git commit -m 'Add some amazing feature'`)
109
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
110
+ 5. Open a Pull Request
data/bin/git-game-show ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "git_game_show"
4
+
5
+ GitGameShow::CLI.start(ARGV)