CSLA .NET is developed and maintained by a global development team composed of volunteers. We welcome your help!
Read this entire document before starting any work.
- Review the Code of Conduct
- Make sure you have a GitHub account
- Download, print, sign, scan, and return the contributor agreement (CLA)
- Engage
- Bring up your idea in a Discussion and talk it through with the community
- Join the Discord server and talk it through there
- Submit an Issue for your suggestion; check first to see if one already exists
- For beginners we suggest
- This online course on contributing to OSS projects on GitHub
- This excellent blog post on Being a good open source citizen
- Information on the CSLA git flow used on this project
- Print, sign, and email the contributor agreement document to Marimer LLC
- Email to rocky at marimer dot llc
- Include your GitHub username in the email
- You will recieve an email from GitHub inviting you to the organization and repo once we've reviewed your CLA
- We will not accept large changes without a signed CLA, but we may accept small edits to the existing codebase
- By submitting a change, large or small, you grant ownership of the code and related IP to Marimer LLC, and you certify that you have the right to transfer such ownership
We have rules around:
- Using Git
- Using GitHub
- Doing the work
- Git commits
- Submitting Pull Requests
- Reviewing PRs
The rules are detailed below.
- We have a doc with step-by-step instructions on how to use git and GitHub to contribute to CSLA .NET
- Follow the CSLA git flow used on this project
- Make sure you are working against an Issue in the backlog
- If an issue doesn't exist, engage with the dev team via Discussions or Discord to discuss your concern
- Create a fork of the MarimerLLC/csla repo
- In your fork, create a topic/feature/issue branch from where you want to base your work
- We recommend naming your branch using the format
dev/issueNumber-test
such asdev/1234-enhance-dataportal
- We recommend naming your branch using the format
- Assign the issue
- If you have permissions, assign the Issue to yourself
- If you don't have permissions, make a comment in the issue saying that you are working on the issue
- Schedule the issue
- Issues in progress must be part of a Project
- If you have permissions, assign the Issue to a project
- If you don't have permissions, engage with the dev team via Discussions or Discord to discuss
- Follow the CSLA coding standards
- Make sure you have added the necessary tests for your changes
- Git commit text should include the backlog issue number; for example
#1234 Fixed an issue
- Pull requests are submitted against a backlog issue; make sure you have an issue number before proceeding
- Submit a pull request (PR) to the repository in the Marimer LLC organization.
- Normally to the
main
branch - If you are changing an older version, submit to the
vX.0
branch (confirm with Rocky that we're still doing releases on older versions before doing your work)
- Normally to the
- In the PR description use
Closes #1234
orFixes #1234
to link the PR to the issue - Submitting a PR will trigger a CI build; make sure the CI build passes with your changes and new unit tests
- All PRs require at least one approving review before they can be merged
- You may add your review to a PR, or you may be requested to review someone's PR
- PR reviews should be positive and constructive, but also thorough; don't approve something if you think it is wrong in terms of code, style, testing, etc.