One of the biggest pains in developing a module loadable package for Sugar is figuring out how to track the package in source control. You don’t want to keep your entire Sugar directory under source control--you just want your custom code in source control. However, from a development perspective, this can be a huge pain. If you do your development separate from the Sugar directory, every time you make an incremental change, you have to manually build and install the module loadable package, which is a process that can quickly become very time consuming.
We’ve developed a tool you can use called the Sugar Synchronizer. The Synchronizer allows you to develop your Sugar customizations in your Sugar directory while still tracking your changes for your module loadable package in a separate directory. You can see a live demo of the Sugar Synchronizer in the Sugar Winter '18 Technical Training
webinar recording (you may want to jump ahead to the 38:42 mark).
The Sugar Synchronizer is open source, and you can get a copy of the code in our GitHub repo: https://github.com/sugarcrm/project-sync. The repo’s Readme has instructions on how to use the Synchronizer.
If you have suggestions for improvement or find a bug, please create an issue in the GitHub repo. Or, better yet, write some code and submit a pull request!
We hope the Sugar Synchronizer makes developing module loadable packages easier for you!