Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,20 @@ Concerto
<img src="https://img.shields.io/badge/Accord%20Project-Join%20Discord-blue" alt="Join the Accord Project Discord"/>
</a>


A lightweight schema language and runtime for business concepts.

## Table of Contents

- [Quick Example](#quick-example)
- [Getting Started](#getting-started)
- [Development](#development)
- [Project Structure](#structure-of-the-code)
- [Contributing](#contributing)
- [License](#license)

## Quick Example

```cs
concept Person identified by name {
o String name
Expand Down Expand Up @@ -76,8 +88,44 @@ $ concerto compare --old model.cto --new model-with-changes.cto
- Add to your [Node.js project](https://docs.accordproject.org/docs/model-api.html)
- Add to your [.NET project](https://www.nuget.org/packages/AccordProject.Concerto)

## Development

Want to contribute? Here's how to get set up for development.

### Prerequisites

- Node.js >= 18
- npm >= 10

### Setup

```bash
# Fork and clone the repository
git clone https://github.com/<YOUR_USERNAME>/concerto.git
cd concerto

# Install dependencies
npm install

# Build all packages
npm run build
```

### Running Tests

```bash
# Run all tests (must build first)
npm test

# Run tests for a specific package
npm test -w @accordproject/concerto-core
```

For more details, check out the [DEVELOPERS.md](./DEVELOPERS.md) guide.

## Structure of the Code


Top level repository (concerto), with sub packages. Each sub-package is published as an independent npm module using npm workspaces:
* [concerto-core](https://github.com/accordproject/concerto/tree/master/packages/concerto-core) : core library for model management/parsing/validation/serialization
* [concerto-util](https://github.com/accordproject/concerto/tree/master/packages/concerto-util) : contains utility functions used in other parts of the code and fundamentally independent from Concerto as a modeling language
Expand Down