diff --git a/README.md b/README.md index 3b9a9820d..3ca1b7942 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [Cadence docs](https://cadenceworkflow.io) is built using [Docusaurus](https://docusaurus.io/). - +> 📚 **New to contributing to Cadence?** Check out our [Contributing Guide](https://cadenceworkflow.io/community/how-to-contribute/getting-started) for an overview of the contribution process across all Cadence repositories. This document contains cadence backend specific setup and development instructions. ### Installation diff --git a/community/how-to-contribute/coding-conventions.mdx b/community/how-to-contribute/coding-conventions.mdx deleted file mode 100644 index 4058ee016..000000000 --- a/community/how-to-contribute/coding-conventions.mdx +++ /dev/null @@ -1,59 +0,0 @@ ---- -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/getting-started.mdx b/community/how-to-contribute/getting-started.mdx new file mode 100644 index 000000000..9bc2a11c2 --- /dev/null +++ b/community/how-to-contribute/getting-started.mdx @@ -0,0 +1,31 @@ +--- +title: Getting Started +--- + +# Getting Started + +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. + +## Join the Community + +The best way to get started is to connect with the Cadence community: + +### CNCF Slack Workspace + +Join our community on the CNCF Slack workspace: +- **Join via**: [Community Inviter](https://communityinviter.com/apps/cloud-native/cncf) +- **Channel**: **#cadence-users** + +This is the best place to ask questions, discuss features, and connect with maintainers and other contributors. + +### Other Community Channels + +- For general Q&A, support/help, and announcements see [GitHub Discussions](https://github.com/cadence-workflow/cadence/discussions) +- To report bugs or request new features use [GitHub Issues](https://github.com/cadence-workflow/cadence/issues) +- For specific code questions/bugs use [Stack Overflow](https://stackoverflow.com/questions/tagged/cadence-workflow) + +## Contributing + +We will continue fleshing out our contribution guide. Until then, refer to our repository README files for details. + +Once you are ready to open a pull request, see [Pull Request Conventions](pull-request-conventions). \ No newline at end of file diff --git a/community/how-to-contribute/pull-request-conventions.mdx b/community/how-to-contribute/pull-request-conventions.mdx new file mode 100644 index 000000000..28326255e --- /dev/null +++ b/community/how-to-contribute/pull-request-conventions.mdx @@ -0,0 +1,59 @@ +--- +title: Pull Request Conventions +--- + +# Pull Request Conventions + +This page outlines pull request 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) + +## Signing Commits + +The Developer Certificate of Origin (DCO) requires all commits to be signed before they can be merged to Cadence repositories. You can fulfill this requirement using either: + +- Signing every commit with `-s`: `git commit -s -m "Your commit message"` +- Signing each commit with a GPG key + +### Setting up GPG key signing + +1. [Generate a new GPG key](https://docs.github.com/en/authentication/managing-commit-signature-verification/generating-a-new-gpg-key) +2. [Add GPG key to your GitHub account](https://docs.github.com/en/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account) +3. [Tell Git about your signing key](https://docs.github.com/en/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key) +4. Enable automatic signing: + ```bash + git config --global commit.gpgsign true + ``` diff --git a/community/support.mdx b/community/support.mdx index fa3cb4bcc..291352a79 100644 --- a/community/support.mdx +++ b/community/support.mdx @@ -13,7 +13,7 @@ Stack Overflow is a popular forum to ask code-level questions or if you're stuck There are many online forums for discussion about best practices and application architecture as well as the future of Cadence. If you have an answerable code-level question, Stack Overflow is usually a better fit. -- [Cadence Community Slack](http://t.uber.com/cadence-slack) +- [Cadence Community on CNCF Slack](https://communityinviter.com/apps/cloud-native/cncf) - Join the **#cadence-users** channel ## Feature requests {#feature-requests} diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 90b117de4..6bb4f952a 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -317,8 +317,8 @@ const config: Config = { href: 'https://stackoverflow.com/questions/tagged/cadence-workflow+uber-cadence', }, { - label: 'Cadence Community Slack', - href: 'http://t.uber.com/cadence-slack', + label: 'Cadence Community on CNCF Slack', + href: 'https://communityinviter.com/apps/cloud-native/cncf', }, { label: 'LinkedIn', diff --git a/sidebarsCommunity.js b/sidebarsCommunity.js index 1037cf907..8fd624912 100644 --- a/sidebarsCommunity.js +++ b/sidebarsCommunity.js @@ -11,7 +11,8 @@ export default { label: 'How to Contribute', items: [ { type: 'doc', id: 'how-to-contribute/index' }, - { type: 'doc', id: 'how-to-contribute/coding-conventions' }, + { type: 'doc', id: 'how-to-contribute/getting-started' }, + { type: 'doc', id: 'how-to-contribute/pull-request-conventions' }, ], }, { type: 'doc', id: 'governance' }, @@ -31,7 +32,7 @@ export default { { type: 'link', label: 'Chat with us on Slack', - href: 'http://t.uber.com/cadence-slack', + href: 'https://communityinviter.com/apps/cloud-native/cncf', }, { type: 'link',