Skip to main content

Monorepo Support

Flowable Design supports connecting an app package to a specific subdirectory within a larger Git repository. This is useful in monorepo setups where multiple projects, teams, or Design apps share the same repository.

What is Monorepo Support?

In a monorepo setup, a single Git repository contains multiple distinct projects or components. With monorepo support, you can point a Design app at a specific sub-path within the repository rather than the repository root.

For example, a repository might be structured as follows:

my-monorepo/
backend/
src/
pom.xml
frontend/
src/
package.json
flowable-models/
hr-app/
processes/
forms/
finance-app/
processes/
forms/

In this case, you could connect one Design app to flowable-models/hr-app/ and another to flowable-models/finance-app/, each tracking its own models within the shared repository.

Configuring the Sub-Path

When setting up a Git connection (either through Clone or Setup), you can specify a sub-path:

  1. In the Git setup form, enter the repository URL as usual.
  2. In the Sub-path field, enter the relative path within the repository where the app's models should be stored (e.g., flowable-models/hr-app).
  3. Complete the setup.

All Git operations (commit, pull, diff, history) will be scoped to the configured sub-path. Changes outside the sub-path are ignored.

Use Cases

Multiple Design Apps in One Repository

When an organization has several related Design apps that share a common lifecycle, storing them in a single repository simplifies management:

  • Shared branching strategy across all apps.
  • Single source of truth for all Flowable models.
  • Coordinated versioning and releases.

Design Models Alongside Application Code

Many teams keep their Flowable models in the same repository as the application code that uses them:

  • Processes and forms versioned together with the Java/TypeScript code that extends them.
  • A single pull request can include both model changes and code changes.
  • CI/CD pipelines can deploy both models and code from the same commit.

Shared Repository Between Teams

In larger organizations, a central repository might contain models from multiple teams:

  • Each team manages their own sub-path.
  • Teams can work independently while sharing the repository infrastructure.
  • Access control is managed at the Git hosting level (e.g., GitHub CODEOWNERS).

How Operations Are Scoped

When a sub-path is configured:

  • Commits only include files within the sub-path.
  • Pull only applies changes within the sub-path.
  • Diffs compare files within the sub-path.
  • Commit history shows only commits that affected files within the sub-path.
  • Conflict resolution only surfaces conflicts for files within the sub-path.

This scoping ensures that unrelated changes in other parts of the repository do not affect the Design app.