plugin.json file at the project root. This file declares who made the extension, what it does, and crucially — which class Klyx should load as the entry point.
File location
plugin.json must live at the root of your project (the same directory as build.gradle.kts). The Klyx Gradle plugin detects it automatically.
Full schema
plugin.json
Field reference
id (required)
Unique plugin identifier in reverse-domain notation.
name (optional, defaults to id)
Human-readable display name shown in Klyx’s plugin manager.
version (required)
Semantic version string. Klyx uses this to determine if an update is available.
minAppVersion (required)
The minimum version of Klyx required to run this extension. Version 4.2.0 introduced the plugin system.
maxAppVersion (optional)
If set, the extension won’t load on newer versions of Klyx. Use this for forward compatibility breaks.
entryClass (required)
The fully qualified class name of your KlyxPlugin implementation. Klyx loads this class reflectively, so it must not be obfuscated or removed during build.
description (optional)
A short description of what your extension does.
icon (optional)
Path to a PNG icon file relative to the project root. Displayed in the plugin manager.
author (optional)
Information about the extension author. All fields are optional except name.
license (optional)
SPDX license identifier or custom license name.
links (optional)
Links associated with the extension.
permissions (optional)
A list of permission strings your extension requires. Currently reserved for future use.
Validation rules
When publishing to the community registry, CI enforces these rules:
See Building & Bundling > Publishing for the full publishing workflow.