Skip to content

Starting From Scratch

mattl91 edited this page Dec 9, 2025 · 5 revisions

Harmony Core Logo

Starting from Scratch with the Harmony Core CLI Tool

This page describes a basic path for creating a new Harmony Core service from scratch using Harmony Core templates and the CLI Tool.

1. Before you begin

Make sure your system meets the prerequisites listed on the Required Tools page. This includes Visual Studio, .NET, Synergy/DE, Harmony Core templates, and the CodeGen tool for generating Harmony Core components.

2. Create a Basic Harmony Core Solution

There are two Harmony Core templates that can serve as starting points for Harmony Core solutions:

  • The harmonycore template — recommended if you want a minimal, clean starting point and intend to follow the step‑by‑step tutorial Creating a Basic Solution for an introduction to Harmony Core components.

  • The harmonydemo template — recommended if you want a working demo service you can quickly set up, start, and explore. See Tutorial 01 01 Building a Demo Service.

Both templates are described in the Solution Templates page.

Building and Running the Initial Project

As you follow one of the tutorials listed above, you'll create the scaffolding for the project, build a solution using standard .NET build tooling, and then run the resulting service.

In addition to the template you use to create the basic solution, you'll use the CLI Tool to drive code generation. The CLI Tool keeps your project consistent and updates generated code. See Introduction to the Harmony Core CLI Tool for more information.

Completing one of the tutorials validated that your environment, templates, and generation settings are configured correctly and can serve as the basis for your own Harmony Core service.

3. Build Out Your Solution — Adding Endpoints and Data Structures

Once the project builds and runs, you can begin adding your own functionality. Typically this includes adding data-centric and code-centric RESTful endpoints, but it can also include other components, such as Traditional Bridge for accessing Synergy logic. As with the previous step, you'll use the CLI Tool to generate code, keep your project consistent, and update generated code.

Clone this wiki locally