Using Maven

Typeflows provides comprehensive support for Maven-based projects. Configure multi-module builds, dependency management, and export workflows using either plugin-based automation or library-based integration depending on your project needs.

Usage Modes

Typeflows supports two usage patterns with Maven:

ModePurposeWhen to Use
Plugin ModeCreate and export configuration filesBuilding applications with Typeflows-managed configs
Library ModeCreate reusable configuration packagesPublishing shared configurations for team use

Plugin Mode

Use this mode when creating applications that generate configuration files (workflows, dependabot, etc).

Source Structure

Plugin Mode uses a multi-module Maven project with a dedicated typeflows submodule:

LanguageSource DirectoryTest Directory
Javatypeflows/src/main/java/typeflows/src/test/java/
Kotlintypeflows/src/main/kotlin/typeflows/src/test/kotlin/

Setup

Better Experience in Landscape Mode

The code examples look much better when viewed horizontally. Please rotate your device for the best experience!

Or view on a larger screen to see the code!

Typeflows SDK Modules

ModuleDescription
io.typeflows:typeflows-bomBill of Materials for dependency management
io.typeflows:typeflows-coreCore Typeflows abstractions and repository types
io.typeflows:typeflows-githubGitHub workflows, Dependabot, Actions
io.typeflows:typeflows-github-marketplacePre-built GitHub marketplace actions
io.typeflows:typeflows-llmSupport for LLM agent instructions and control files

Plugin Goals

Goals available when using Plugin Mode and are run from the typeflows module:

GoalDescription
typeflows:exportExport your Typeflows configuration
typeflows:install-claudeInstall LLM instructions about Typeflows into .claude/commands
typeflows:install-copilotInstall LLM instructions about Typeflows into .github/instructions
typeflows:install-cursorInstall LLM instructions about Typeflows into .cursor/rules
typeflows:install-genieInstall LLM instructions about Typeflows into .genie/guidelines.md

Library Mode

Use this mode when creating reusable configuration packages for distribution.

Source Structure

Library Mode uses standard Maven source structure:

LanguageSource DirectoryTest Directory
Javasrc/main/java/src/test/java/
Kotlinsrc/main/kotlin/src/test/kotlin/

Setup

Add Typeflows dependencies to your project:

Better Experience in Landscape Mode

The code examples look much better when viewed horizontally. Please rotate your device for the best experience!

Or view on a larger screen to see the code!

Publishing

Use the standard Maven maven-deploy-plugin or nexus-staging-maven-plugin configuration for publishing to Maven repositories.