Feature requests can be proposed on ServiceStack’s User Voice. Proposals can also be made via code samples in GitHub pull-requests.
From any of the ServiceStack code repositories on GitHub, you can Fork the code to your own GitHub account.
To get the source on your local development machine, simply clone your local forked repo using Git:
git clone https://github.com/USERNAME/PROJECT.git
Each repository has a README that should be helpful to learn more about the specifics of the language, project and its development environment.
Please ensure any code contributions include tests that should verify the behavior of new features, verify the issue that a fix fixes and to prevent future regressions or even a reproducible failing tests if you want to report an issue.
In order to become a contributor to the ServiceStack projects on GitHub you must follow some legal requirements and approve the ServiceStack Contributor License Agreement.
Until you meet the legal requirements your pull requests / source contributions will not be considered or reviewed.
Please configure your Git client with a name and email address to use for your commits. This will also help the team validate your CLA status:
git config user.name Your Name git config user.email YourAlias@YourEmailDomain
Checkout the latest code
In order to obtain the source code you need to become familiar with Git (see progit.org/book/) and Github (see help.github.com/) and you need to have Git installed on your local machine. You can obtain the source code from Github by following the these steps on your local machine:
git clone email@example.com:[USERNAME]/[PROJECT]
You can then start to make modifications to the code in your local Git repository. For commits to ServiceStack v3, this should be done in the
v3 branch. Note: all contributions must come with tests verifying the desired behavior.
You can commit your work with following commands:
git checkout master
git commit -a -m 'commit message describing changes'
git push origin v3
Once your code is in your github fork, you can then submit a pull request for the team’s review. You can do so with the following commands:
ServiceStack/[PROJECT]as destination for the request
If there are conflicts between your fork and the main project one, github will warn you that the pull request cannot be merged. If that’s the case, you can do the following:
git remote add upstream -f firstname.lastname@example.org:ServiceStack/[PROJECT]
git merge upstream/master
git push origin master
Please keep in mind that not all requests will be approved. Requests are reviewed by the Core Team on a regular basis and will be updated with the status at each review. If your request is accepted you will receive information about the next steps and when the request will be integrated in the main branch. If your request is rejected you will receive information about the reasons why it was rejected.
Feature requests should be proposed on ServiceStack’s User Voice, whilst the ServiceStack community has a discussion group used for submitting code reviews and discussing design changes, best practices, and other important topics. Any disruptive changes to any project should be discussed here before any code is contributed.
Expect a good amount of feedback as part of any pull request: not only which branch to merge to and from, but also consistency guidelines, matching existing code, and making targeted, smart changes when fixing bugs.
Huge thanks go to the contributors from the community who have been actively working with the ServiceStack community.
You can find a list of contributors here.