Skip to content

Latest commit

 

History

History
77 lines (48 loc) · 2.63 KB

Contributing-Setup.md

File metadata and controls

77 lines (48 loc) · 2.63 KB

Contributing Setup

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 ./src/DancingGoat and restore the database backup in ./database or 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": {
    "acme-web-admin": {
      "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