From bpmn-to-code
Sets up bpmn-to-code Maven plugin in existing projects by configuring pom.xml for BPMN code generation 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 Maven plugin in an existing Maven project.
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.
Configures Maven plugins like compiler, surefire, jar, resources; sets up executions, plugin management, and custom configurations in pom.xml for Java builds.
Assists with Maven for Java: initializes projects, configures pom.xml, manages dependencies and scopes, sets up builds/plugins/profiles, troubleshoots errors.
Share bugs, ideas, or general feedback.
Set up the bpmn-to-code Maven plugin in an existing Maven project.
pom.xml — do not create new files unless the user asks.pom.xml is found, abort and tell the user this skill requires an existing Maven project.pom.xml in the project root.pom.xml to understand existing plugins, dependencies, and build configuration.<build><plugins> section already exists.**/*.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)ELEMENTS, SERVICE_TASKS, MESSAGES, TIMERS, ERRORS, SIGNALS, VARIABLES. Default: all elements.Check Maven Central or the project README for the latest plugin version.
Prepare the following changes to pom.xml. Use the example at examples/maven-example/pom.xml as the canonical reference.
Add the plugin block inside <build><plugins>:
<plugin>
<groupId>io.github.emaarco</groupId>
<artifactId>bpmn-to-code-maven</artifactId>
<version>VERSION</version>
<executions>
<execution>
<goals>
<goal>generate-bpmn-api</goal>
</goals>
</execution>
</executions>
<configuration>
<baseDir>${project.basedir}</baseDir>
<filePattern>USER_FILE_PATTERN</filePattern>
<outputFolderPath>${project.basedir}/src/main/LANGUAGE</outputFolderPath>
<packagePath>USER_PACKAGE</packagePath>
<outputLanguage>LANGUAGE</outputLanguage>
<processEngine>ENGINE</processEngine>
<useVersioning>BOOLEAN</useVersioning>
</configuration>
</plugin>
If the user chose specific includedElements, add:
<includedElements>
<includedElement>ELEMENT_TYPE</includedElement>
<!-- ... -->
</includedElements>
inside the <configuration> block.
If the <build><plugins> section does not exist yet, create the full structure.
Present the complete set of changes to the user and ask: "Here are the changes I'll make to your pom.xml. Proceed? (yes / edit / cancel)"
Apply edits and show again if the user requests changes.
Write the changes to pom.xml using the Edit tool.
Suggest the user run:
mvn io.github.emaarco:bpmn-to-code-maven:generate-bpmn-api
to verify the setup works correctly. If the user has BPMN files in place, this should generate the process API code.