Skip to main content


We love Open Source contributions; whether they be fixes to this documentation, or Concerto bug reports, feature requests, or code contrbutions.

Financial contributions are also very welcome and can be made to Accord Project, via the Linux Foundation Crowdfunding portal.

Structure of the Code

Top level repository (concerto), with sub packages. Each sub-package is published as an independent npm module using lerna:

  • concerto-cli : command-line interface for Concerto
  • concerto-core : core library for model management/parsing/validation/serialization
  • concerto-tools : model converters and tools for Concerto model files
  • concerto-util : contains utility functions used in other parts of the code and fundamentally independent from Concerto as a modeling language
  • concerto-metamodel : contains utility functions for accessing and manipulating the new Concerto metamodel
  • concerto-cto : contains the parser for the .cto syntax for Concerto. The parser now outputs a proper Concerto object, instance of the metamodel rather than a custom JSON object.
  • concerto-vocabulary : functionality to handle model vocabularies and localization
  • concerto-analysis : tools for comparing model files
  • concerto-types : TypeScript type definitions for Concerto
  • concerto-dotnet : .NET type definitions for Concerto, and serialization tools