The modelix project develops an open source platform for (meta-)models on the web. We are native to the web and the cloud.
For general information on modelix, please refer to the official modelix homepage as well as the platform documentation.
A list of individual components and links to component-specific documentation can be found in our documentation.
This repository contains the core components of the modelix platform. All components in this repository have no dependencies to JetBrains MPS. If you are looking for MPS-related modelix components, see https://github.com/modelix/modelix.mps and https://github.com/modelix/modelix.mps-plugins.
This project uses conventional commits 1.0.0 as the convention for Git commits.
This project uses pre-commit to validate that new commits follow intended conventions. To enable pre-commit hooks, you have to run the following command initially after cloning the repository:
$ pre-commit install
pre-commit installed at .git/hooks/pre-commit
Some checks use by pre-commit are implemented by JavaScript components. Therefore, it's necessary to have the required packages installed via:
$ npm install
added 72 packages, removed 98 packages, changed 203 packages, and audited 654 packages in 3s
...
We use detekt as a Kotlin linter. detekt is integrated in the Gradle build process. Manually, it can be triggered with:
$ ./gradlew detektMain detektTest detektJsMain detektJsTest detektJvmMain detektJvmTest
...
The project contains a configuration for the IntelliJ detekt plugin. If you install this plugin, you should get detekt annotations inline in IntelliJ. Unfortunately, the plugin does not support detekt rules requiring type resolution. Therefore, some annotations can only be obtained by running detekt through Gradle.
detekt results are also reported on the GitHub project using GitHub's code scanning feature. In PRs, detekt finding will be provided as annotations on the PR.
Development of modelix is supported by itemis
Copyright © 2021-present by the modelix open source project and the individual contributors. All Rights Reserved.
Use of this software is granted under the terms of the Apache License Version 2.0. See the LICENSE to find the full license text.