ZenWave Editor - IntelliJ Plugin
ZenWave Editor: Seamless ZDL Editing & SDK Plugin Integration inside IntelliJ Platform.

Features
ZDL Language Support
- Syntax highlighting for ZDL Domain Model Language
- Linting and error detection with real-time feedback
- Code completion for ZDL syntax (work in progress)
- Code navigation (Ctrl+Click) from ZDL model to source code and API definitions (work in progress)
SDK Plugin Integration
- Execute ZenWave SDK plugins directly from the editor with the Play button
- Copy generated command lines by hovering over the Play button
- Plugin configuration through ZenWave Scripts Files (
.zw
) - Real-time code generation from your ZDL models
Documentation & Visualization
- Markdown preview with PlantUML diagrams (requires PlantUML plugin)
- Interactive documentation generation from your domain models
ZenWave Scripts Files (.zw)
The plugin supports ZenWave Scripts Files that define SDK plugins and their configurations:
config {// Global configurationzdlFile "zenwave-model.zdl"plugins {/** Generates OpenAPI 3.0 from ZDL model */ZDLToOpenAPIPlugin {idType integertargetFile "src/main/resources/public/apis/openapi.yml"}/** Generates AsyncAPI 3.0 from ZDL model */ZDLToAsyncAPIPlugin {asyncapiVersion v3targetFile "src/main/resources/public/apis/asyncapi.yml"}/** Generates Backend Application (Headless Core) */BackendApplicationDefaultPlugin {useLombok trueincludeEmitEventsImplementation true}/** Generates Spring MVC controllers (Web Adapters) */OpenAPIControllersPlugin {openapiFile "src/main/resources/public/apis/openapi.yml"}/** Generates Spring WebTestClient tests */SpringWebTestClientPlugin {openapiFile "src/main/resources/public/apis/openapi.yml"groupBy businessFlowbusinessFlowTestName CreateUpdateDeleteCustomerIntegrationTestoperationIds createCustomer,updateCustomer,deleteCustomer,getCustomer}/** Generates KarateDSL tests */OpenAPIKaratePlugin {openapiFile "src/main/resources/public/apis/openapi.yml"groupBy businessFlowbusinessFlowTestName CreateUpdateDeleteCustomerKarateTestoperationIds createCustomer,updateCustomer,deleteCustomer,getCustomer}}}
Configuration Precedence
The plugin follows a clear configuration hierarchy:
- Command line arguments (highest precedence)
- Plugin-specific properties (defined in
.zw
files) - Global properties (defined in
.zw
files) - Properties from referenced
.zdl
files (lowest precedence)
Getting Started
- Install the plugin from the JetBrains Marketplace
- Install ZenWave CLI for plugin execution:
jbang alias add --force --fresh --name=zw release@zenwave360/zenwave-sdk
- Create a ZDL model file with
.zdl
extension - Create a ZenWave Scripts file with
.zw
extension - Configure your plugins in the scripts file
- Execute plugins using the Play button in the editor
Requirements
- ZenWave CLI installed via JBang for plugin execution
- PlantUML plugin (optional) for diagram preview in Markdown
ZenWave Editor for VSCode
ZenWave Editor provides Syntax Highlighting for ZDL on VSCode.
It is available on the VSCode Marketplace.
It also works 'on the web', for example on the github.dev
user interface reached by pressing .
(the period key) when browsing a repository or Pull Request in GitHub.