Kyle Schaeffer

is creating Engineer
Select a membership level
per month
Your name will be placed into in the Engineer GitHub repository.
Generous Backer
per month
Your name will be placed at the top of in the Engineer GitHub repository.
Bronze Sponsor
per month
Your name or company logo (small) will be placed at the top of in the Engineer GitHub repository.



About Kyle Schaeffer

Engineer is a powerful command-line tool for managing configuration changes in SharePoint. It's kind of like version control for content types, site columns, lists, and more.

This project is all about bringing traditional SharePoint development capabilities to the open source toolchain. SharePoint's trajectory is increasingly rooted in open source technologies like JavaScript, React, NPM, and Node.js. Engineer is designed to fill a gap that was created when Microsoft pivoted to these technologies. While the move to open source is a great first step, the truth is that SharePoint developers are currently stuck between two worlds. We can build some things in the new open source framework, but other features of SharePoint are still stubbornly clinging to the classic SharePoint experience.

The various APIs and methods available to make configuration changes in SharePoint (such as the REST API and CSOM API) each have their own strengths and weaknesses, forcing developers to use a combination of multiple APIs to complete very simple tasks. Engineer is designed to bridge the gap between these disparate methods and to create a single, simple, easy-to-use API that allows any type of configuration change. These configuration changes are tracked and propagated over multiple SharePoint environments.

While already in its first release, Engineer has a way to go before its potential can be fully realized. I plan to add API endpoints for managing files, pages, attachments, navigation, taxonomy data, and much more. There are even plans for a desktop app (using Electron) and a more user-friendly UI to allow graphical management of migrations.

I am considering working on Engineer full-time, which is why I'm requesting sponsorship of the project via Patreon. If you or your business has interest in the project, consider partnering with me to support the continued maintenance and improvement of Engineer. Your support ensures a healthy and secure application, while also providing you with an opportunity for increased exposure in the SharePoint community.
0% complete
If this goal is met, I can spend considerably less time on client project work and more time dedicated to Engineer.
1 of 1