Generalize rules for breadpunk.club and other git repos

This commit is contained in:
Case Duckworth 2020-04-21 12:01:01 -05:00
parent 21429fde4e
commit 71259f65ae
12 changed files with 43 additions and 30 deletions

View File

@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2015 Travis Briggs
Copyright (c) 2020 breadpunk.club users
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,8 +1,9 @@
# tiny-nomic: Nomic on Github
# nomic on breadpunk.club
This repository represents a game of
[Nomic](http://legacy.earlham.edu/~peters/nomic.htm) where the bookkeeping of
the rules and the scores is done through Markdown flavored text files in a Github repository.
The repository is the single source of authority on the current state of the game (unless, of course, the rules change and that is no longer the case).
the rules and the scores is done through Markdown flavored text files in a git
repository on tildegit.org/breadpunk/nomic.
The repository is the single source of authority on the current state of the
game (unless, of course, the rules change and that is no longer the case).

View File

@ -4,4 +4,7 @@ mutable or *vice versa*) may be immutable or mutable regardless of their
numbers, and rules in the Initial Set may be transmuted regardless of their
numbers.
If the game is being played on Github, mutable rules must be stored in the mutable_rules/ directory and immutable rules must be stored in the immutable_rules/ directory. The directory in which a rule resides is the sole factor in determining its mutability.
If the game is being played with git, mutable rules must be stored in the
`mutable_rules/` directory and immutable rules must be stored in the
`immutable_rules/` directory. The directory in which a rule resides is the
sole factor in determining its mutability.

View File

@ -1,4 +1,5 @@
All proposed rule-changes shall be written down before they are voted on. If
they are adopted, they shall guide play in the form in which they were voted on.
If the game is being played on Github, Pull Requests which add files to the proper directory shall satisfy this rule.
If the game is being played over git, Pull Requests or their technological
equivalent which add files to the proper directory shall satisfy this rule.

View File

@ -3,4 +3,5 @@ if and only if the vote is unanimous among the eligible voters. Transmutation
shall not be implied, but must be stated explicitly in a proposal to take
effect.
If the game is being played on Github, a simple file move to or from the immutable_rules/mutable_rules directories shall satisfy this rule.
If the game is being played over git, a simple file move to or from the
`immutable_rules/` or `mutable_rules/` directories shall satisfy this rule.

View File

@ -5,7 +5,10 @@ rule or have the force of a rule.
The master branch of the repository will serve as a representation of the
current game state. No commits are allowed to be made to the master branch
except through the mechanism of a Github Pull Request.
except through the mechanism of a Pull Request, if that is available;
otherwise, the technological equivalent of a Github Pull Request is
acceptable. Throughout these rules, "Pull Request" refers to either method of
repository change.
Pull Requests must perform exactly one of the following actions:
@ -13,8 +16,8 @@ Pull Requests must perform exactly one of the following actions:
2. Remove a file from one of the rules directories when a rule is repealed.
3. Modify an existing rule file, when an amendment is made, or repealed, or when
an amendment to an amendment is made or repealed.
4. Move a rule from either the immutable_rules directory or the mutable_rules
directory to the other one, when a rule is transmuted.
4. Move a rule from either the `immutable_rules/` directory or the
`mutable_rules/` directory to the other one, when a rule is transmuted.
5. Create a new player file in the `players/` directory
6. Perform some administrative task on the repository, at the discretion of the
players. Pull Requests of this type can happen outside of the normal turn
@ -22,6 +25,7 @@ Pull Requests must perform exactly one of the following actions:
materially affect the operation of the rules or the game. An example of this
would be removing or replacing the LICENSE or README files.
The proper way to propose a rule-change is a Pull Request. Players vote on Pull
Requests/proposals by putting either "+1" or "-1" as a comment on the Pull
Request, or by using the proper :thumbsup: or :thumbsdown: emoji on the Pull Request comment.
The proper way to propose a rule-change is a Pull Request. Players vote on
Pull Requests/proposals by putting either `+1` or `-1` as a comment on the
Pull Request, or by using the proper `:thumbsup:` or `:thumbsdown:` emoji on
the Pull Request comment.

View File

@ -1,11 +1,11 @@
Any person with a Github account is eligible to play the game (become a player).
However, a single person shall only ever constitute a single player in the game,
regardless of the number of Github accounts he or she has.
Any person with a breadpunk.club account is eligible to play the game (become
a player). However, a single person shall only ever constitute a single player
in the game, regardless of the number of breadpunk.club accounts they have.
To become a player in the game, a candidate player shall send a Github Pull
To become a player in the game, a candidate player shall send a Pull
Request to the master branch of the repository where the game is being recorded.
The Pull Request shall modify the players/ directory of the repository by adding
a single file whose name is exactly in the Name Format.
The Pull Request shall modify the `players/` directory of the repository by adding
a single file whose name is exactly in the *Name Format*.
For the purposes of this rule, the Name Format means a string which:
@ -13,11 +13,11 @@ For the purposes of this rule, the Name Format means a string which:
in numerical value to the number of files that were present in the
directory before the candidate player's file was added. So if the
candidate player's file is the 4th, the number would be 003.
* This is followed by a hyphen, then ends with the Github username of the
candidate player, ie audiodude.
* For example, the file could be named `003-audiodude`.
* This is followed by a hyphen, then ends with the breadpunk.club username
of the candidate player, ie audiodude.
* For example, the file could be named `003-breadw`.
Each player's file must at all times contain the numeric score of the player.
The Pull Request to add a player (as described in this rule) can be
approved/merged by any existing player. Only one player's approval is required.
approved/merged by any existing player. Only one player's approval is required.

View File

@ -8,4 +8,5 @@ goes first and play passes to each player in increasing numeric order of his or
her assigned number.
Turns may not be skipped or passed, and parts of turns may not be omitted. All
players begin with zero points, which (if the game is being played on Github) should be reflected in their player files.
players begin with zero points, which (if the game is being played over git)
should be reflected in their player files.

View File

@ -4,7 +4,7 @@ One turn consists of two parts in this order:
2. throwing one die once and adding the number of points on its face to one's
score.
In mail and computer games (and by extension, if playing on Github) instead of
In mail and computer games (and by extension, those played over git) instead of
throwing a die, players subtract 291 from the ordinal number of their proposal
and multiply the result by the fraction of favorable votes it received, rounded
to the nearest integer. (This yields a number between 0 and 10 for the first

View File

@ -1,4 +1,4 @@
The winner is the first player to achieve 100 (positive) points.
In mail and computer games (and by extension, games played on Github), the
In mail and computer games (and by extension, games played over git), the
winner is the first player to achieve 200 (positive) points.

View File

@ -2,4 +2,4 @@ Players may not conspire or consult on the making of future rule-changes unless
they are team-mates.
The first paragraph of this rule does not apply to games by mail or computer
(or, by extension, those played on Github).
(or, by extension, those played over git).

View File

@ -1,6 +1,8 @@
To the degree possible, the game should be played using Github. Conversation
To the degree possible, the game should be played using git. Conversation
relevant to the game should happen there. Earnest attempts should be made to
keep discussion and judging pertinent to a rule-change proposal attached to the
Pull Request that contains the proposal.
Judgement can be invoked at any time by opening a new issue on the Github repository that hosts the game. If possible, the current judge should be @mentioned in such an issue, to prompt a speedy reply.
Judgement can be invoked at any time by opening a new issue in the git
repository that hosts the game. If possible, the current judge should be
@mentioned in such an issue, to prompt a speedy reply.