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: community/how-to-contribute/getting-started.mdx
+50-14Lines changed: 50 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,28 +4,64 @@ title: Getting Started
4
4
5
5
# Getting Started
6
6
7
-
Thank you for your interest in contributing to Cadence! We're excited to have you join our community. This guide will help you get started with contributing to any Cadence repository.
7
+
Thank you for your interest in contributing to Cadence! We're excited to have you join our community. There are many [ways](ways-to-contribute) to contribute to Cadence. This guide focuses on technical contributions.
8
8
9
9
## Join the Community
10
10
11
-
The best way to get started is to connect with the Cadence community:
12
-
13
-
### CNCF Slack Workspace
14
-
15
-
Join our community on the CNCF Slack workspace:
11
+
Consider joining our community on the CNCF Slack workspace:
This is the best place to ask questions, discuss features, and connect with maintainers and other contributors.
20
16
21
-
### Other Community Channels
17
+
---
18
+
19
+
## 1 - Find an Issue
20
+
21
+
Issues may be created in any of the Cadence repositories, but we frequently aggregate issues in the main [Cadence](https://github.com/cadence-workflow/cadence/issues) repository. In particular, we try and maintain a set of [good first issues](https://github.com/cadence-workflow/cadence/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22%20label%3Aup-for-grabs). These are curated issues that we would eagerly accept and are limited in scope.
22
+
23
+
Once you've found an issue, we encourage you to comment on it indicating that you're interested in working on it. This gives maintainers an opportunity to provide any additional context and helps ensure that there isn't any duplicated effort.
24
+
25
+
### Creating New Issues
26
+
27
+
If you don't find something that interests you or you have a more specific contribution, feel free to create a new issue. This provides an opportunity to collect feedback and describe the issue independent of a specific implementation.
28
+
29
+
Whether Cadence accepts specific contributions is up to the project maintainers, as described in the [governance model](/community/governance).
30
+
31
+
## 2 - Address the Issue
32
+
33
+
Each repository has a `CONTRIBUTING.md` file in its root which provides specific instructions regarding tooling, code standards, and conventions. A great first step for contributing to any project is building the code and running the tests. If you are ever unsure on how to proceed, please reach out on Slack.
34
+
35
+
Where possible, issues should include specific references to the relevant code. If you don't know where to begin, comment on the issue or reach out in slack.
36
+
37
+
## 3 - Write Tests
38
+
39
+
Test coverage is mandatory, regardless of the author. This has been an effective strategy in finding bugs and ensuring code quality. Beyond demonstrating that new functionality works, it ensures that future changes don't accidentally break it.
40
+
41
+
Where possible, integration tests are another powerful tool for ensuring that functionality works end to end. Cadence is a complex distributed system supporting many different databases and clients written in many languages. Integration tests ensure that behavior works consistently across all of them.
42
+
43
+
## 4 - Create a Pull Request
44
+
45
+
Once you're ready to collect fedback, create a Pull Request. Refer to the [Pull Request Conventions](pull-request-conventions) for more details.
46
+
47
+
We don't expect pull requests to be a fully polished and complete contribution. Bias for opening one sooner rather than later to start discussions about the approach and specific implementation details.
48
+
49
+
Github Actions are used to execute the tests and any other validations. These must be approved by a maintainer in order to run.
50
+
51
+
Based on availability and experience, a specific maintainer will be assigned to review the contribution. They will make a best effort attempt to promptly respond to questions/comments.
52
+
53
+
At any point feel free to reach out in `#cadence-contributors` asking for additional review or feedback.
54
+
55
+
## 5 - Receive Feedback
56
+
57
+
All contributions, regardless of the author, will receive comments and feedback. Writing software is a collaborative process and there is no such thing as perfect code.
58
+
59
+
Comments that begin with `nit:` indicate that the reviewer is expressingly a stylistic preference. They'd prefer the proposed change, such as renaming a variable, but it isn't considered to be an issue that would block merging in the pull request.
22
60
23
-
- For general Q&A, support/help, and announcements see [GitHub Discussions](https://github.com/cadence-workflow/cadence/discussions)
24
-
- To report bugs or request new features use [GitHub Issues](https://github.com/cadence-workflow/cadence/issues)
25
-
- For specific code questions/bugs use [Stack Overflow](https://stackoverflow.com/questions/tagged/cadence-workflow)
61
+
All comments and feedback should be respectful and constructive, following Cadence's [Contribution Guidelines](/community/governance#contribution-guidelines). Reviewers ask the same in return.
26
62
27
-
## Contributing
63
+
## 6 - Approval
28
64
29
-
We will continue fleshing out our contribution guide. Until then, refer to our repository README files for details.
65
+
Work with the assigned reviewer(s), iterating on the pull request to receive approval for the changes.
30
66
31
-
Once you are ready to open a pull request, see [Pull Request Conventions](pull-request-conventions).
67
+
Pull Requests require approval from at least two maintainers to be merged. Merging or authoring a pull request is considered implicit approval.
Copy file name to clipboardExpand all lines: community/how-to-contribute/ways-to-contribute.mdx
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
---
2
-
title: How to Contribute
2
+
title: Ways to Contribute
3
3
date: 2025-01-07
4
4
authors: demirkayaender
5
5
tags:
6
6
- announcement
7
7
---
8
8
9
-
# How to Contribute
9
+
# Ways to Contribute
10
10
11
11
Cadence is a project with high ambitions and we cannot achieve it without a strong community. We would love for you to get involved and be recognized for your efforts through our official channels.
0 commit comments