From 7a23fb12dbef8929af9d034f50b731fd2eb9cb5a Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 27 Feb 2026 13:18:05 +0000 Subject: [PATCH 01/13] initial version --- doc/developer.contributing.rst | 48 ++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index 72d8cf9c1..a61be8643 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -6,6 +6,16 @@ Contributing to Gambit This section provides guidelines for contributing to Gambit, including how to report bugs, suggest features, and contribute code. It includes information relevant to both core developers and external contributors. +.. _code-of-conduct: + +Code of Conduct +--------------- + +All participants in the Gambit community are expected to show respect and courtesy to others. +We are committed to fostering a welcoming and harassment-free environment for everyone, regardless of background or identity. +Please be kind and considerate in your interactions. We are all here to build a better tool for game theory research and education. +Disagreements may happen, but they should be handled with respect and a focus on constructive resolution. + .. _github-issues: GitHub issues @@ -39,6 +49,44 @@ latest development version. New development should in general always be based off this branch. Branches labeled ``maintX_Y``, where ``X`` is the major version number and ``Y`` is the minor version number, point to the latest commit on a stable version. +.. _new-contributors: + +A Note for New Contributors +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +We warmly welcome new contributors to the Gambit project! Your help is valuable to us. + +Before you start working on a contribution, we encourage you to familiarize yourself with the project. +Gambit is a mature and complex codebase. Even issues marked as "good first issue" may require some understanding of the context and how different parts of the project interact. + +We have always valued thoughtful contributions. A common issue for open-source projects is receiving pull requests that are not well-aligned with the project's needs or coding standards. To avoid wasted effort on your part and on ours, we strongly encourage you to engage with us before you spend a lot of time on implementation. + +A great way to start is by: + +1. Looking through the code to understand the relevant parts for your intended change. +2. Opening an issue to discuss a bug or feature. +3. If you have a change in mind, open a draft pull request early in your process. This allows for discussion and feedback before you've invested too much time. + +We are happy to answer questions and provide guidance. Engaging with the development team early ensures that your contribution is likely to be accepted and integrated smoothly. + +.. _ai-policy: + +Policy on AI-Assisted Contributions +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +We recognize that generative AI tools can be a useful aid in software development. We also expect authentic and thoughtful engagement from our contributors. + +- **You are responsible for your contributions.** If you use generative AI to help you write code or documentation, you must fully understand the output. You should be able to explain the changes and why they are the correct approach for the project. +- **Add value.** Simply taking a prompt, feeding it to an AI, and posting the result as a contribution is not helpful. We expect you to use your own expertise to verify, test, and refine any AI-generated content. To preserve precious developer time, we reserve the right to rigorously reject low-value contributions, whether AI-generated or not. +- **No AI-generated comments.** Please do not post output from Large Language Models (LLMs) or similar tools as comments on GitHub issues or pull requests. Such comments are often generic and do not add to the discussion. +- **No bots.** It is strictly forbidden to use automated tooling, such as bots or agents, to post AI-generated content to issues or pull requests. Users doing so may be banned and/or reported to GitHub. + + +How to submit a contribution +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To contribute code, please follow these steps: + 1. To get started contributing code in the `Gambit GitHub repo `__, do one of the following: - Core developers: request contributor access from one of the `team `__ From 2d3c687f1fc7674da0c9c19ccfc58b459bbdc7f3 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 27 Feb 2026 13:29:09 +0000 Subject: [PATCH 02/13] update index with link to contributor guide --- doc/index.rst | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/doc/index.rst b/doc/index.rst index 0e1725265..04822cbb2 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -1,10 +1,8 @@ -########################## -Gambit: User documentation -########################## - **Gambit** is a library of game theory software and tools for the construction and analysis of finite extensive and strategic games. -We recommended most new users install the PyGambit Python package and read the associated documentation, which includes tutorials and a complete API reference. + +- **Users:** We recommended most newcomers install the PyGambit Python package and read the associated documentation, which includes tutorials and a complete API reference. +- **Contributors:** Please read the :ref:`code of conduct and contribution guidelines ` before posting on GitHub. .. grid:: From 18ae5689a150cfe902fcf64c38ed5c3eea7771aa Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 27 Feb 2026 13:35:12 +0000 Subject: [PATCH 03/13] Add contribution guide link to README --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 598a266d2..fa7bb5239 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,9 @@ **Gambit** is the package for doing computation in (non-cooperative) game theory. -- See our [documentation](https://gambitproject.readthedocs.io/) -- Check our [project website](https://www.gambit-project.org/) +- **Documentation:** for the package is hosted at [gambitproject.readthedocs.io](https://gambitproject.readthedocs.io/). +- **The Gambit project:** Find out more about the project at [gambit-project.org](https://www.gambit-project.org/) +- **Contributors:** Please read the [code of conduct and contribution guidelines](https://gambitproject.readthedocs.io/en/latest/developer.contributing.html) before posting on GitHub. Gambit provides: From f407ad709846aac3bc34eeea4c7bff5810a2df27 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 27 Feb 2026 13:43:27 +0000 Subject: [PATCH 04/13] Update new contributors suggestion --- doc/developer.contributing.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index a61be8643..a56bf6d7b 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -64,10 +64,10 @@ We have always valued thoughtful contributions. A common issue for open-source p A great way to start is by: 1. Looking through the code to understand the relevant parts for your intended change. -2. Opening an issue to discuss a bug or feature. -3. If you have a change in mind, open a draft pull request early in your process. This allows for discussion and feedback before you've invested too much time. +2. Contacting the maintainers via commenting with a question on an open issue, or opening a Discussion on GitHub. +3. After your discussion with the maintainers, open a draft pull request early in your process. This allows for discussion and feedback before you've invested too much time. -We are happy to answer questions and provide guidance. Engaging with the development team early ensures that your contribution is likely to be accepted and integrated smoothly. +We are happy to answer questions and provide guidance. Engaging with the maintainers early ensures that your contribution is likely to be accepted and integrated smoothly. .. _ai-policy: From 5dba56796c60d8adebb91dcc6d5831cd9ef5e278 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 27 Feb 2026 13:45:23 +0000 Subject: [PATCH 05/13] remove reporting --- doc/index.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/index.rst b/doc/index.rst index 04822cbb2..fc82ca7b8 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -1,3 +1,6 @@ +Gambit: User documentation +^^^^^^^^^^^^^^^^^^^^^^^^^^ + **Gambit** is a library of game theory software and tools for the construction and analysis of finite extensive and strategic games. From 82fb083097e47cf1119cb97f61f405a81557c282 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 27 Feb 2026 13:45:40 +0000 Subject: [PATCH 06/13] previous commit --- doc/developer.contributing.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index a56bf6d7b..d0a11f2a1 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -79,7 +79,7 @@ We recognize that generative AI tools can be a useful aid in software developmen - **You are responsible for your contributions.** If you use generative AI to help you write code or documentation, you must fully understand the output. You should be able to explain the changes and why they are the correct approach for the project. - **Add value.** Simply taking a prompt, feeding it to an AI, and posting the result as a contribution is not helpful. We expect you to use your own expertise to verify, test, and refine any AI-generated content. To preserve precious developer time, we reserve the right to rigorously reject low-value contributions, whether AI-generated or not. - **No AI-generated comments.** Please do not post output from Large Language Models (LLMs) or similar tools as comments on GitHub issues or pull requests. Such comments are often generic and do not add to the discussion. -- **No bots.** It is strictly forbidden to use automated tooling, such as bots or agents, to post AI-generated content to issues or pull requests. Users doing so may be banned and/or reported to GitHub. +- **No bots.** It is strictly forbidden to use automated tooling, such as bots or agents, to post AI-generated content to issues or pull requests. How to submit a contribution From 8d0551db1d4ff2fa8d188a119f1bb60403e73469 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 27 Feb 2026 13:49:52 +0000 Subject: [PATCH 07/13] Add newcomer note --- doc/developer.contributing.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index d0a11f2a1..3d7484559 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -21,6 +21,8 @@ Disagreements may happen, but they should be handled with respect and a focus on GitHub issues ------------- +Newcomer to the project? Please read the :ref:`code of conduct ` and :ref: `new contributors section ` sections before posting on GitHub. + In the first instance, bug reports, feature requests and improvements to the Gambit documentation should be posted to the Gambit issue tracker, located at ``_. From 0fe32e3092412539c3c235f28ec36b53d0e5251a Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 27 Feb 2026 13:53:48 +0000 Subject: [PATCH 08/13] fix ref link --- doc/developer.contributing.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index 3d7484559..2c16dc6a0 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -21,7 +21,7 @@ Disagreements may happen, but they should be handled with respect and a focus on GitHub issues ------------- -Newcomer to the project? Please read the :ref:`code of conduct ` and :ref: `new contributors section ` sections before posting on GitHub. +Newcomer to the project? Please read the :ref:`code of conduct ` and :ref:`new contributors section ` sections before posting on GitHub. In the first instance, bug reports, feature requests and improvements to the Gambit documentation should be posted to the Gambit issue tracker, located at From 3ac98a2c9ec3d8d77ede36f46f75e60d71e236ae Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 2 Mar 2026 10:20:30 +0000 Subject: [PATCH 09/13] wasted->unproductive --- doc/developer.contributing.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index 2c16dc6a0..4b9f89f64 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -61,7 +61,7 @@ We warmly welcome new contributors to the Gambit project! Your help is valuable Before you start working on a contribution, we encourage you to familiarize yourself with the project. Gambit is a mature and complex codebase. Even issues marked as "good first issue" may require some understanding of the context and how different parts of the project interact. -We have always valued thoughtful contributions. A common issue for open-source projects is receiving pull requests that are not well-aligned with the project's needs or coding standards. To avoid wasted effort on your part and on ours, we strongly encourage you to engage with us before you spend a lot of time on implementation. +We have always valued thoughtful contributions. A common issue for open-source projects is receiving pull requests that are not well-aligned with the project's needs or coding standards. To avoid unproductive effort on your part and on ours, we strongly encourage you to engage with us before you spend a lot of time on implementation. A great way to start is by: From 10564d2c08ab36ccf0951ba1ad156539b761868b Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 2 Mar 2026 10:33:16 +0000 Subject: [PATCH 10/13] Typo --- doc/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/index.rst b/doc/index.rst index fc82ca7b8..65ed31ed4 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -4,7 +4,7 @@ Gambit: User documentation **Gambit** is a library of game theory software and tools for the construction and analysis of finite extensive and strategic games. -- **Users:** We recommended most newcomers install the PyGambit Python package and read the associated documentation, which includes tutorials and a complete API reference. +- **Users:** We recommend most newcomers install the PyGambit Python package and read the associated documentation, which includes tutorials and a complete API reference. - **Contributors:** Please read the :ref:`code of conduct and contribution guidelines ` before posting on GitHub. .. grid:: From d158df6289f8c3c9010156d0244be07f486d3e83 Mon Sep 17 00:00:00 2001 From: Ted Turocy Date: Tue, 3 Mar 2026 16:38:39 +0000 Subject: [PATCH 11/13] Update developer.contributing.rst --- doc/developer.contributing.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index 4b9f89f64..e94cfaf4c 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -16,6 +16,8 @@ We are committed to fostering a welcoming and harassment-free environment for ev Please be kind and considerate in your interactions. We are all here to build a better tool for game theory research and education. Disagreements may happen, but they should be handled with respect and a focus on constructive resolution. +To raise any concerns, please contact `Ted Turocy ` or `Rahul Savani `. + .. _github-issues: GitHub issues From d290d731fed13968055eb74dee50750b063ddb18 Mon Sep 17 00:00:00 2001 From: Ted Turocy Date: Tue, 3 Mar 2026 16:39:06 +0000 Subject: [PATCH 12/13] Apply suggestion from @edwardchalstrey1 Co-authored-by: Ed Chalstrey --- doc/developer.contributing.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index e94cfaf4c..f71724365 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -83,7 +83,7 @@ We recognize that generative AI tools can be a useful aid in software developmen - **You are responsible for your contributions.** If you use generative AI to help you write code or documentation, you must fully understand the output. You should be able to explain the changes and why they are the correct approach for the project. - **Add value.** Simply taking a prompt, feeding it to an AI, and posting the result as a contribution is not helpful. We expect you to use your own expertise to verify, test, and refine any AI-generated content. To preserve precious developer time, we reserve the right to rigorously reject low-value contributions, whether AI-generated or not. - **No AI-generated comments.** Please do not post output from Large Language Models (LLMs) or similar tools as comments on GitHub issues or pull requests. Such comments are often generic and do not add to the discussion. -- **No bots.** It is strictly forbidden to use automated tooling, such as bots or agents, to post AI-generated content to issues or pull requests. +- **Humans over bots.** We discourage the use of automated tools, such as bots or agents, to post AI-generated content to issues or pull requests, without the advance approval of the core development team. How to submit a contribution From c34604e6c16b16c8df3617f60fc0edc18035cc30 Mon Sep 17 00:00:00 2001 From: Ted Turocy Date: Tue, 3 Mar 2026 16:39:36 +0000 Subject: [PATCH 13/13] Apply suggestions from code review Co-authored-by: Ed Chalstrey --- doc/developer.contributing.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index f71724365..ff9dae9a4 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -81,7 +81,7 @@ Policy on AI-Assisted Contributions We recognize that generative AI tools can be a useful aid in software development. We also expect authentic and thoughtful engagement from our contributors. - **You are responsible for your contributions.** If you use generative AI to help you write code or documentation, you must fully understand the output. You should be able to explain the changes and why they are the correct approach for the project. -- **Add value.** Simply taking a prompt, feeding it to an AI, and posting the result as a contribution is not helpful. We expect you to use your own expertise to verify, test, and refine any AI-generated content. To preserve precious developer time, we reserve the right to rigorously reject low-value contributions, whether AI-generated or not. +- **Add value.** Simply taking a prompt, feeding it to an AI, and posting the result as a contribution is not helpful. We expect you to use your own expertise to verify, test, and refine any AI-generated content. Out of respect for everyone's time, we reserve the right to rigorously reject low-value contributions, whether AI-generated or not. - **No AI-generated comments.** Please do not post output from Large Language Models (LLMs) or similar tools as comments on GitHub issues or pull requests. Such comments are often generic and do not add to the discussion. - **Humans over bots.** We discourage the use of automated tools, such as bots or agents, to post AI-generated content to issues or pull requests, without the advance approval of the core development team.