Summarize this decision in the table below. Type /date to quickly add the due date and @mention the driver, approver, contributors, and informed to keep everyone on the same page.

Status

Impact

Driver

Ruth Cheesley 

Approver

Contributors

Nick Veenhof (Deactivated) Dennis Ameling Alan Hartless Jan Linhart 

Informed

Norman Pracht (Unlicensed) Mohit Aghera Jozsef Keller

Due date

Outcome

What did you decide?

Background

With the Composer Initiative we have decoupled all of the plugins and themes from the core Mautic repositories, in addition to the /app directory now being a separate repo of mautic/core-lib.

At the moment the repos only contain a copy of the code at a point in time - they do not have the git history which we need to retain.

We also need to find a way so that we can break out all of these into their own repo, but keep all of them updated (one way only from mautic/mautic → core-lib/plugin/theme repo) so that when these are updated when a PR is merged, the code is automatically synchronised (maybe with a GitHub Action?) to the plugin/theme repo.

Some related things we need to consider:

This MUST be in place before the Mautic 4 Beta Sprint (23-25 April)

Research

Splitting the repos while maintaining the GitHub commit history (this does not take into account maintaining the sync)

Maintaining the sync between mautic/mautic and the core-lib, plugins and theme repos

Governance of decoupled repos

Useful resources

Options considered

Option 1:

Option 2:

Description

Pros and cons

(plus)

(minus)

(plus)

(minus)

Estimated cost

Action items

Add action items to close the loop on open questions or concerns

Outcome

Summarize the outcome below