diff --git a/community/how-to-contribute/coding-conventions.mdx b/community/how-to-contribute/coding-conventions.mdx new file mode 100644 index 000000000..4058ee016 --- /dev/null +++ b/community/how-to-contribute/coding-conventions.mdx @@ -0,0 +1,59 @@ +--- +title: Coding Conventions +--- + +# Coding Conventions + +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. + +## Pull Request Titles + +### Conventional Commits Format + + +All pull request titles should follow the [Conventional Commits](https://www.conventionalcommits.org/) format: + +``` +(): + +Examples: +feat(worker): Add batch processing API +fix(history): Resolve deadlock in workflow execution +docs: Update getting started guide +``` + +**Types:** +- **feat**: A new feature +- **fix**: A bug fix +- **docs**: Documentation only changes +- **refactor**: Code change that neither fixes a bug nor adds a feature +- **test**: Adding or updating tests +- **chore**: Changes to build process, dependencies, or tools + +### PR Title Guidelines + + +Follow the [Chris Beams guide](http://chris.beams.io/posts/git-commit/) to writing git commit messages. All PR titles should: + +- Start with UPPER case +- Be specific (avoid generic titles like "bug fixes") +- Use imperative mood ("Add feature" not "Added feature") + +**Examples from Cadence repositories:** +- [Make sync activity retry multiple times before fetch history from remote](https://github.com/cadence-workflow/cadence/pull/1379) +- [Enable archival config per domain](https://github.com/cadence-workflow/cadence/pull/1351) + +## License Headers + + + +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. + +## Language-Specific Details + +For style guides, formatting tools, linters, and build commands, please refer to each repository's CONTRIBUTING.md: + +- **Go**: [cadence CONTRIBUTING.md](https://github.com/cadence-workflow/cadence/blob/master/CONTRIBUTING.md) +- **Go**: [cadence-go-client CONTRIBUTING.md](https://github.com/cadence-workflow/cadence-go-client/blob/master/CONTRIBUTING.md) +- **Java**: [cadence-java-client CONTRIBUTING.md](https://github.com/cadence-workflow/cadence-java-client/blob/master/CONTRIBUTING.md) +- **JavaScript**: [cadence-web CONTRIBUTING.md](https://github.com/cadence-workflow/cadence-web/blob/master/CONTRIBUTING.md) diff --git a/community/how-to-contribute.mdx b/community/how-to-contribute/index.mdx similarity index 86% rename from community/how-to-contribute.mdx rename to community/how-to-contribute/index.mdx index 96ed254d8..fdc814a76 100644 --- a/community/how-to-contribute.mdx +++ b/community/how-to-contribute/index.mdx @@ -16,7 +16,7 @@ There are many ways to contribute to the Cadence project including the following ## Core Team -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). +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). --- @@ -26,7 +26,7 @@ This is where our biggest community is and this is how people get to know about ### User / Consumer -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. +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. ### Alpha Tester @@ -38,7 +38,7 @@ Champions are the first users or the power users of Cadence in a company. They i ### Writer -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. +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. --- @@ -46,7 +46,7 @@ Another way to help us cultivate our community is to share documents about Caden ### Developer -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. +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. ### Reviewer @@ -76,7 +76,7 @@ The Cadence team hosts monthly webinars, joins conferences and presents in diffe ### Selling Managed Cadence -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. +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. We currently work very closely with companies selling Cadence as a such offering to help them succeed so we can build a happier community. @@ -106,4 +106,4 @@ We aspire to build the most flexible, reliable and scalable orchestration engine ### Orchestration Expert -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\! \ No newline at end of file +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\! diff --git a/sidebarsCommunity.js b/sidebarsCommunity.js index 13fd812de..1037cf907 100644 --- a/sidebarsCommunity.js +++ b/sidebarsCommunity.js @@ -6,7 +6,14 @@ export default { // dirName: '.', // }, { type: 'doc', id: 'support' }, - { type: 'doc', id: 'how-to-contribute' }, + { + type: 'category', + label: 'How to Contribute', + items: [ + { type: 'doc', id: 'how-to-contribute/index' }, + { type: 'doc', id: 'how-to-contribute/coding-conventions' }, + ], + }, { type: 'doc', id: 'governance' }, { type: 'doc', id: 'team' }, // { type: 'doc', id: 'resources' },