This page is intended to help you set up the development environment and reveal the processes for contribution.
Developing
Prerequisite
- Visual Studio Code, (Recommended) or
- Visual Studio
Fork this repository
Use the Fork
button in the right upper corner to have your fork of this repository.
Note: pushing branches into this repository is not supported. Please PR from your fork.
Build
Firstly, please check your .NET SDK version by running:
dotnet --version
You will need 6.0.x
or a higher version.
Tips: Use dotnet --info to list all .NET SDK installed on the machine.
Then, restore the NuGet packages when necessary, under the root folder:
dotnet restore
Build the product:
dotnet build
Test
We use xUnit and Moq for our unit tests. To run unit tests:
dotnet test tests\UnitTests\UnitTests.csproj
Code-Conventions
We use C# and please follow the coding conventions here: C# Coding Conventions. When there are special conventions, we will post them here.
Branches
-
The default branch is 'develop'. Please submit all pull requests for new features to this branch.
-
For new features, create a feature branch like
feature/<feature-name>
, for example:
feature/better-readme
- For bug fixes, create a branch like
bug/<issue-number>
, for example, if the issue to track the bug is #100:
bug/100
- Once the features are integrated and ready to release, they will be merged back into
main
. All releases will be shipped out of the main branch. The specific commit will be tagged for releases.
Continuous Integration
- There's a simple GitHub action used as a pre-condition for finishing PR. Find out more details here.