aboutsummaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md36
1 files changed, 32 insertions, 4 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 529a912bb6..cbead97529 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -21,6 +21,7 @@ well.
- [Support](#support)
- [Standard libraries](#standard-libraries)
- [Maintaining existing packages in coq-community](#maintaining-existing-packages-in-coq-community)
+ - [Contributing to the editor support packages](#contributing-to-the-editor-support-packages)
- [Contributing to the website or the package archive](#contributing-to-the-website-or-the-package-archive)
- [Other ways of creating content](#other-ways-of-creating-content)
- [Issues](#issues)
@@ -208,6 +209,10 @@ manifesto's README][coq-community-manifesto].
### Contributing to the editor support packages ###
+Besides CoqIDE, whose sources are available in this repository, and to
+which you are welcome to contribute, there are a number of alternative
+user interfaces for Coq, more often as an editor support package.
+
Here are the URLs of the repositories of the various editor support
packages:
@@ -216,6 +221,11 @@ packages:
- Coqtail (Vim) <https://github.com/whonore/Coqtail>
- VsCoq Reloaded (VsCode) <https://github.com/coq-community/vscoq>
+And here are alternative user interfaces to be run in the web browser:
+
+- JsCoq (Coq executed in your browser) <https://github.com/ejgallego/jscoq>
+- Jupyter kernel for Coq <https://github.com/EugeneLoy/coq_jupyter/>
+
Each of them has their own contribution process.
### Contributing to the website or the package archive ###
@@ -616,8 +626,26 @@ documentation][coqdoc-documentation] to learn more.
### Fixing bugs and performing small changes ###
-Just open a PR with your fix. If it is not yet completed, do not
-hesitate to open a [*draft PR*][GitHub-draft-PR] to get early
+Before fixing a bug, it is best to check that it was reported before:
+
+- If it was already reported and you intend to fix it, self-assign the
+ issue (if you have the permission), or leave a comment marking your
+ intention to work on it (and a contributor with write-access may
+ then assign the issue to you).
+
+- If the issue already has an assignee, you should check with them if
+ they still intend to work on it. If the assignment is several
+ weeks, months, or even years (!) old, there are good chances that it
+ does not reflect their current priorities.
+
+- If the bug has not been reported before, it can be a good idea to
+ open an issue about it, while stating that you are preparing a fix.
+ The issue can be the place to discuss about the bug itself while the
+ PR will be the place to discuss your proposed fix.
+
+In any case, feel free to just ignore the recommendation above, and
+jump ahead and open a PR with your fix. If it is not yet complete, do
+not hesitate to open a [*draft PR*][GitHub-draft-PR] to get early
feedback, and talk to developers on [Gitter][].
It is generally a good idea to add a regression test to the
@@ -638,12 +666,12 @@ merged.
So it is recommended that before spending a lot of time coding, you
seek feedback from maintainers to see if your change would be
-supported, and if they have recommendation about its implementation.
+supported, and if they have recommendations about its implementation.
You can do this informally by opening an issue, or more formally by
producing a design document as a [Coq Enhancement Proposal][CEP].
Another recommendation is that you do not put several unrelated
-changes (even if you produced them together) in the same PR. In
+changes in the same PR (even if you produced them together). In
particular, make sure you split bug fixes into separate PRs when this
is possible. More generally, smaller-sized PRs, or PRs changing less
components, are more likely to be reviewed and merged promptly.