I'm currently working on making a series of NPC tools for the asset store. I want to release free versions of these tools alongside my premium ones so people who don't need a large related feature set, just need something to prototype with, or want to test the core functionality of my tools before deciding to purchase can do so. Currently I want to reduce how much I'm juggling in the background regarding maintaining my repos, changelogs, etc. so I'm looking for a way to have one repo for each free-premium tool pair (1 repo -> free and premium).
What would be the best way to go about doing this? I want my source code to be visible in the packages, but only have the premium features with my premium package ofc. I'm already making premium features extensions of the core systems and interfaces so I'm really just looking for advice on managing my version control and package creation so that the free and premium versions stay synchronized with one another without me having to constantly cherry pick premium files/code to update my free version. If there are some code/architecture tips that you do think are useful though feel free to tell!