Skip to content

Latest commit

 

History

History
80 lines (50 loc) · 2.8 KB

Contributing-Setup.md

File metadata and controls

80 lines (50 loc) · 2.8 KB

Contributing Setup

This documents the steps a maintainer or developer would follow to work on the library in their development environment

Required Software

The requirements to setup, develop, and build this project are listed below.

.NET Runtime

.NET SDK 8.0 or newer

Node.js Runtime

  • Node.js 20.10.0 or newer
  • NVM for Windows to manage multiple installed versions of Node.js
  • See engines in the solution package.json for specific version requirements

C# Editor

  • VS Code
  • Visual Studio
  • Rider

Database

SQL Server 2019 or newer compatible database

SQL Editor

  • MS SQL Server Management Studio
  • Azure Data Studio

Sample Project

Database Setup

Running the sample project requires creating a new Xperience by Kentico database using the included template.

Change directory in your console to ./examples/DancingGoat and follow the instructions in the Xperience documentation on creating a new database.

Admin Customization

To run the Sample app Admin customization in development mode, add the following to your User Secrets for the application.

"CMSAdminClientModuleSettings": {
  "kentico-xperience-integrations-repotemplate": {
    "Mode": "Proxy",
    "Port": 3009
  }
}

Development Workflow

  1. Create a new branch with one of the following prefixes

    • feat/ - for new functionality
    • refactor/ - for restructuring of existing features
    • fix/ - for bugfixes
  2. Run dotnet format against the src/Kentico.Xperience.RepoTemplate project

    use dotnet: format VS Code task.

  3. Commit changes, with a commit message preferably following the Conventional Commits convention.

  4. Once ready, create a PR on GitHub. The PR will need to have all comments resolved and all tests passing before it will be merged.

    • The PR should have a helpful description of the scope of changes being contributed.
    • Include screenshots or video to reflect UX or UI updates
    • Indicate if new settings need to be applied when the changes are merged - locally or in other environments