Skip to content

Commit 15730e2

Browse files
authored
docs: Add coding conventions page to contribution guide (#290)
* docs: Add coding conventions page to contribution guide
1 parent e1ca4d7 commit 15730e2

File tree

3 files changed

+73
-7
lines changed

3 files changed

+73
-7
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
---
2+
title: Coding Conventions
3+
---
4+
5+
# Coding Conventions
6+
7+
This page outlines the coding conventions and standards across Cadence repositories. For language-specific tooling, build instructions, and formatting details, refer to the CONTRIBUTING.md file in each repository.
8+
9+
## Pull Request Titles
10+
11+
### Conventional Commits Format
12+
13+
<!-- NEW REQUIREMENT: Conventional Commits for consistency across repos -->
14+
All pull request titles should follow the [Conventional Commits](https://www.conventionalcommits.org/) format:
15+
16+
```
17+
<type>(<optional scope>): <description>
18+
19+
Examples:
20+
feat(worker): Add batch processing API
21+
fix(history): Resolve deadlock in workflow execution
22+
docs: Update getting started guide
23+
```
24+
25+
**Types:**
26+
- **feat**: A new feature
27+
- **fix**: A bug fix
28+
- **docs**: Documentation only changes
29+
- **refactor**: Code change that neither fixes a bug nor adds a feature
30+
- **test**: Adding or updating tests
31+
- **chore**: Changes to build process, dependencies, or tools
32+
33+
### PR Title Guidelines
34+
35+
<!-- Source: https://github.com/cadence-workflow/cadence/blob/master/CONTRIBUTING.md#L253-L265 -->
36+
Follow the [Chris Beams guide](http://chris.beams.io/posts/git-commit/) to writing git commit messages. All PR titles should:
37+
38+
- Start with UPPER case
39+
- Be specific (avoid generic titles like "bug fixes")
40+
- Use imperative mood ("Add feature" not "Added feature")
41+
42+
**Examples from Cadence repositories:**
43+
- [Make sync activity retry multiple times before fetch history from remote](https://github.com/cadence-workflow/cadence/pull/1379)
44+
- [Enable archival config per domain](https://github.com/cadence-workflow/cadence/pull/1351)
45+
46+
## License Headers
47+
48+
<!-- Source: https://github.com/cadence-workflow/cadence-go-client/blob/master/CONTRIBUTING.md#L47-L52 -->
49+
<!-- Source: https://github.com/cadence-workflow/cadence-java-client/blob/master/CONTRIBUTING.md#L27-L40 -->
50+
All source files must include the Apache 2.0 license header. Each repository has tools to check and generate headers—see the repository's CONTRIBUTING.md for specific commands.
51+
52+
## Language-Specific Details
53+
54+
For style guides, formatting tools, linters, and build commands, please refer to each repository's CONTRIBUTING.md:
55+
56+
- **Go**: [cadence CONTRIBUTING.md](https://github.com/cadence-workflow/cadence/blob/master/CONTRIBUTING.md)
57+
- **Go**: [cadence-go-client CONTRIBUTING.md](https://github.com/cadence-workflow/cadence-go-client/blob/master/CONTRIBUTING.md)
58+
- **Java**: [cadence-java-client CONTRIBUTING.md](https://github.com/cadence-workflow/cadence-java-client/blob/master/CONTRIBUTING.md)
59+
- **JavaScript**: [cadence-web CONTRIBUTING.md](https://github.com/cadence-workflow/cadence-web/blob/master/CONTRIBUTING.md)

community/how-to-contribute.mdx renamed to community/how-to-contribute/index.mdx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ There are many ways to contribute to the Cadence project including the following
1616

1717
## Core Team
1818

19-
To have the most influence on the Cadence project, join our core team. We announce open roles in the team in our Slack workspace, Linkedin and other mediums we use (or you can use [this query](https://www.uber.com/us/en/careers/list/?query=cadence)). Apply when theres an opening and join us. Currently we have offices in Seattle (US), Bay Area (US), and Aarhus (Denmark).
19+
To have the most influence on the Cadence project, join our core team. We announce open roles in the team in our Slack workspace, Linkedin and other mediums we use (or you can use [this query](https://www.uber.com/us/en/careers/list/?query=cadence)). Apply when there's an opening and join us. Currently we have offices in Seattle (US), Bay Area (US), and Aarhus (Denmark).
2020

2121
---
2222

@@ -26,7 +26,7 @@ This is where our biggest community is and this is how people get to know about
2626

2727
### User / Consumer
2828

29-
Go to our [Github organization](https://github.com/cadence-workflow) and start using Cadence. Thats it\! Tell us how your first experience was so we can improve. Get into discussions in our Slack workspace to explain your use case. Get help from our support channels. Feel free to ask for free consultation on your design. We learn a lot from our users and from their experiences.
29+
Go to our [Github organization](https://github.com/cadence-workflow) and start using Cadence. That's it\! Tell us how your first experience was so we can improve. Get into discussions in our Slack workspace to explain your use case. Get help from our support channels. Feel free to ask for free consultation on your design. We learn a lot from our users and from their experiences.
3030

3131
### Alpha Tester
3232

@@ -38,15 +38,15 @@ Champions are the first users or the power users of Cadence in a company. They i
3838

3939
### Writer
4040

41-
Another way to help us cultivate our community is to share documents about Cadence\! Whether its writing blogs or technical articles, recording video tutorials or organizing collaborations; sharing how your experience is with Cadence and how others can benefit from it is a great way to help build a community. This also helps gain public visibility on the personal level.
41+
Another way to help us cultivate our community is to share documents about Cadence\! Whether it's writing blogs or technical articles, recording video tutorials or organizing collaborations; sharing how your experience is with Cadence and how others can benefit from it is a great way to help build a community. This also helps gain public visibility on the personal level.
4242

4343
---
4444

4545
## Technical Contributor
4646

4747
### Developer
4848

49-
You can become an individual developer by taking up tasks and projects. If this is your first time and want to see how your experience is going to be, you are welcome to take any issue tagged with good-first-issue or up-for-grabs. We are happy to explain what needs to be done along with providing more details and pointers, if needed. Your journey starts there and can continue with working on bigger and more serious projects based on your past involvement.
49+
You can become an individual developer by taking up tasks and projects. If this is your first time and want to see how your experience is going to be, you are welcome to take any issue tagged with "good-first-issue" or "up-for-grabs". We are happy to explain what needs to be done along with providing more details and pointers, if needed. Your journey starts there and can continue with working on bigger and more serious projects based on your past involvement.
5050

5151
### Reviewer
5252

@@ -76,7 +76,7 @@ The Cadence team hosts monthly webinars, joins conferences and presents in diffe
7676

7777
### Selling Managed Cadence
7878

79-
Cadence is an open source project without monetary concerns. We are proud to use the exact same open source version of Cadence at Uber at scale which maps to thousands of use cases, billions of workflows and over 100K+ updates per second\! While we improve the experience with operating Cadence day by day, there are still many companies who would prefer buying a managed version of our technology due to not having resources or just to have a piece of mind.
79+
Cadence is an open source project without monetary concerns. We are proud to use the exact same open source version of Cadence at Uber at scale which maps to thousands of use cases, billions of workflows and over 100K+ updates per second\! While we improve the experience with operating Cadence day by day, there are still many companies who would prefer buying a managed version of our technology due to not having resources or just to have a piece of mind.
8080

8181
We currently work very closely with companies selling Cadence as a such offering to help them succeed so we can build a happier community.
8282

@@ -106,4 +106,4 @@ We aspire to build the most flexible, reliable and scalable orchestration engine
106106

107107
### Orchestration Expert
108108

109-
You can help our community compare Cadence to other orchestration technologies holistically. Starting from the onboarding experience, to feature-set; from observability to performance and scale; from intuitiveness/ease-of-use to contribution experience; you can help others evaluate Cadence. Your comparison will also help us improve Cadence even better\!
109+
You can help our community compare Cadence to other orchestration technologies holistically. Starting from the onboarding experience, to feature-set; from observability to performance and scale; from intuitiveness/ease-of-use to contribution experience; you can help others evaluate Cadence. Your comparison will also help us improve Cadence even better\!

sidebarsCommunity.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,14 @@ export default {
66
// dirName: '.',
77
// },
88
{ type: 'doc', id: 'support' },
9-
{ type: 'doc', id: 'how-to-contribute' },
9+
{
10+
type: 'category',
11+
label: 'How to Contribute',
12+
items: [
13+
{ type: 'doc', id: 'how-to-contribute/index' },
14+
{ type: 'doc', id: 'how-to-contribute/coding-conventions' },
15+
],
16+
},
1017
{ type: 'doc', id: 'governance' },
1118
{ type: 'doc', id: 'team' },
1219
// { type: 'doc', id: 'resources' },

0 commit comments

Comments
 (0)