You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+26-1Lines changed: 26 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,30 +6,55 @@ appreciated and will be reviewed swiftly.
6
6
Wormhole is a mission-critical, high-stakes project. We optimize for quality over quantity. Design processes
7
7
and code reviews are our most important tools to accomplish that.
8
8
9
+
## Who can contribute?
10
+
11
+
Due to the high-stakes nature of making changes to Wormhole, we have a strict policy on who can contribute to the project.
12
+
Typically, we only accept contributions from people who we already trust and/or who have a history of contributing to
13
+
the project. This policy is in place to ensure that we maintain the security and stability of project, including
14
+
its CI infrastructure.
15
+
16
+
The right way to get started with contributing is to reach out to us directly, introduce yourself, and ask for guidance on how to contribute to the project.
17
+
Drive-by pull requests will be closed without review or explanation. Typically, we already have a good visibility into
18
+
existing bugs and feature requests, and our preference to to have our own devs and their LLMs implement the changes.
19
+
20
+
In general, we will not upstream changes to the project unless we have a tangible need for them.
21
+
22
+
Security-related issues **must** be reported via our bug bounty program. See [SECURITY.md](./SECURITY.md) for more information.
23
+
We do not accept security-related PRs from external contributors, including from bug bounty reporters, regardless of whether
24
+
or not the reporter has found a valid issue.
25
+
26
+
The above policy applies to all projects in the Wormhole ecosystem maintained by the Wormhole Foundation.
- All new features must first be discussed in a GitHub issue before starting to implement them. For
14
33
complex features, it can be useful to open a thread on [GitHub Discussions](https://github.com/wormhole-foundation/wormhole/discussions).
15
34
16
-
- Development happens on a long-lived development branch (`main` and `dev.v1`).
35
+
- Development happens on a long-lived development branch (`main`).
17
36
Every change going into a development branch is reviewed individually (see below). Release branches may be used
18
37
to support in-the-wild releases of Wormhole. We aim to support at most two release
19
38
branches at the same time. Changes can be cherry-picked from the development branch to release branches, but
20
39
never from release branches to a development branch.
40
+
21
41
- Releases are first tested on a testnet.
22
42
23
43
- Commits should be small and have a meaningful commit message. One commit should, roughly, be "one idea" and
24
44
be as atomic as possible. A feature can consist of many such commits.
45
+
25
46
- Where possible, use standard libraries, common dependencies, or SDK functions instead of re-implementing validation
26
47
from scratch. This helps prevent duplication and drift for routine tasks, and helps the codebase stay lean and well-tested.
48
+
27
49
- Feature flags and interface evolution are better than breaking changes and long-lived feature branches.
50
+
28
51
- We optimize for reading, not for writing - over its lifetime, code is read much more often than written.
29
52
Small commits, meaningful commit messages and useful comments make it easier to review code and improve the
30
53
quality of code review as well as review turnaround times. It's much easier to spot mistakes in small,
31
54
well-defined changes.
55
+
32
56
- PRs that only correct typos or make minor wording adjustments will be rejected. Fixing typos alongside other non-trivial engineering work is welcome.
57
+
33
58
- Pull requests that modify dependencies must be well-documented so that the benefits of updating can be weighed against
34
59
security and compatibility concerns. Low-effort PRs that update dependencies without any documentation will be rejected.
0 commit comments