From bpmn-to-code
Sets up bpmn-to-code Gradle plugin in existing projects by adding dependency, configuring BPMN code generation task for Camunda 7, Zeebe, or Operaton in Java or Kotlin.
npx claudepluginhub emaarco/bpmn-to-code --plugin bpmn-to-codeThis skill is limited to using the following tools:
Set up the bpmn-to-code Gradle plugin in an existing Gradle project.
Sets up bpmn-to-code Maven plugin in existing projects by configuring pom.xml for BPMN code generation in Java or Kotlin.
Master Gradle - Kotlin DSL, task configuration, build optimization, caching
Generates Spring Boot projects interactively via Spring Initializr API: fetches metadata, selects Boot/Java versions, language, artifact/package, dependencies; downloads, extracts, and runs Gradle Kotlin DSL build. Activates on Spring Boot creation requests.
Share bugs, ideas, or general feedback.
Set up the bpmn-to-code Gradle plugin in an existing Gradle project.
build.gradle.kts (Kotlin DSL) or build.gradle (Groovy DSL) — never both.build.gradle.kts or build.gradle in the project root. Prefer Kotlin DSL (build.gradle.kts) if both exist.**/*.bpmn).src/main/kotlin vs src/main/java directories.Ask the user for the following parameters (skip any already provided in $ARGUMENTS). Suggest defaults based on Step 1 detection:
CAMUNDA_7, ZEEBE, or OPERATONKOTLIN or JAVA (default: based on detected source directories).bpmn files, default: src/main/resources/**/*.bpmn)false)Check the Gradle Plugin Portal or the project README for the latest plugin version.
Prepare the following changes to the build file. Use the example at examples/gradle-example/build.gradle.kts as the canonical reference.
For Kotlin DSL (build.gradle.kts):
Add imports at the top of the file:
import io.github.emaarco.bpmn.adapter.GenerateBpmnModelsTask
import io.github.emaarco.bpmn.domain.shared.OutputLanguage
import io.github.emaarco.bpmn.domain.shared.ProcessEngine
Add the plugin to the plugins {} block:
id("io.github.emaarco.bpmn-to-code-gradle") version "<version>"
Register the code generation task:
tasks.register<GenerateBpmnModelsTask>("generateBpmnModelApi") {
baseDir = projectDir.toString()
filePattern = "<user-chosen-pattern>"
outputFolderPath = "$projectDir/src/main/<kotlin|java>"
packagePath = "<user-chosen-package>"
outputLanguage = OutputLanguage.<KOTLIN|JAVA>
processEngine = ProcessEngine.<engine>
useVersioning = <true|false>
}
For Groovy DSL (build.gradle): adapt the syntax accordingly (no type parameters, use = assignments, string-based enum references).
Present the complete set of changes to the user and ask: "Here are the changes I'll make to your build file. Proceed? (yes / edit / cancel)"
Apply edits and show again if the user requests changes.
Write the changes to the build file using the Edit tool.
Suggest the user run:
./gradlew generateBpmnModelApi
to verify the setup works correctly. If the user has BPMN files in place, this should generate the process API code.