A12 Kernel provides a Domain-Specific Language (DSL) that enables business domain experts to model complex interdependencies within large forms. A12 Kernel compiles these models into code (generally available targets are Java and TypeScript) that can be used by other A12 components or accessed through standalone kernel runtime APIs to perform plausibility checks and produce helpful, user-facing error messages.
When user input fails a plausibility check, error messages are generated based on template strings that are specified by the business domain experts, with dynamically substituted template parameters and automatically computed links to the form fields involved in the unsatisfied rule. A12 Kernel also supports automatic computations for derived form fields, based on formulas that are expressed in the DSL.
Beyond the core DSL, the kernel repository includes APIs and implementations for A12 DocumentModels and A12 Documents. It also provides model-based mechanisms for DocumentModel reuse and composability (e.g. CombinationModel), support for model-driven data import and migration (MappingModel), and associated utilities like serialization.
Refer to https://geta12.com/#/docs to get started with A12 development
Parts of the A12 platform are made available under a dual license.
Please check the LICENSE file for details.
The A12 Kernel provides library entrypoints:
- Java
- include
com.mgmtp.a12.kernel:kernel-md-facadein your gradle/maven config
- include
- TypeScript
- include
@com.mgmtp.a12.kernel/kernel-md-facadein your package.json (or similar)
- include
The following tools are required in order to build this repository:
| Tool | Version |
|---|---|
| JDK | 21 |
| Node | 22 |
| npm | 10 |
This repository uses Gradle as the leading build tool. Configure your build environment with the relevant Gradle repository settings.
The following command executes the build from a terminal, for example Git Bash:
$ gradle buildThis builds and tests the kernel (Java and TypeScript).
The recommended task/command
# Only TypeScript components:
gradle npm_test
# Only Java modules:
gradle check -x npm_testThe A12 Kernel does not provide a standalone application.
- Full technical documentation is available at GetA12.com.
- The website also provides access to the A12 Community Discussion Forum.
- And shows examples for provided CLIs.
The mgm A12 Team mgm technology partners GmbH • Imprint