status |
---|
draft |
Thanks for considering a contribution to the Commonhaus Foundation (CF) repository. We value every contribution, whether it's a document edit or a major revision.
-
Discuss First: For significant changes, start a GitHub discussion to establish consensus1. For smaller edits, you can directly create a pull request (PR).
-
Fork and Edit: Fork the repository to your account, make your changes there.
- Be Clear: Ensure your contributions are direct and easy to understand.
- Remain Consistent: Follow the existing format and structure of the documents.
- markdownlint: The build process (shown below) will lint Markdown documents using
markdownlint
. The markdownlint VSCode extension or IntelliJ plugin can help you stick to and apply these rules while you're making changes. - EditorConfig: Similarly, the EditorConfig VSCode extension and IntelliJ plugin help with whitespace handling in a minimally invasive way.
- markdownlint: The build process (shown below) will lint Markdown documents using
- Cross-reference Discussions and PRs: Link back to relevant discussions or other PRs in your commit messages.
- Building documents (optional): When you create a PR, a build will run that will verify internal and external links, and will generate and attach pdfs to the build.
- Test your changes: To test your changes locally, , use
npm ci
to install node dependencies, and usenpm run test
ornpm run tv
(verbose) to test/lint your content. These tasks run the following:- Markdown linting:
npm run lint
- YAML syntax validation:
npm run yaml
- Markdown link checks:
npm run links
ornpm run linksv
(verbose)
- Markdown linting:
- Build pdfs: If you use docker or podman, run
./.github/docker-build-pdf.sh
to use a pre-configured docker image to convert markdown bylaws and policies to pdf.
- Test your changes: To test your changes locally, , use
Markdown content is converted into pdfs and is published on the website.
- Mailing list references: Mailing list reference syntax (
legal
mailing list) matters.- The
code
value shuld match amailing-list
attribute in CONTACTS.yaml. - This syntax is changed into an email address in the pdf.
- In the case of user action, use the full phrase: "send an email to the
legal
mailing list", so that it can be converted into a submission form reference on the website.
- The
- Create a PR: Submit your changes via a pull request from your fork. Check the automatic build for link or pdf generation errors.
- Wait for Review: A code owner will review your PR and might ask for changes or clarifications.
- Respond to Feedback: Address any feedback to get your PR approved and merged.
Some changes may need a legal review which may take some time.
Every contribution matters. For any questions, feel free to reach out.
Happy contributing!
Footnotes
-
See decision making for an overview of how we approach consensus building. ↩