Home - PepperDash/Essentials GitHub Wiki
Welcome to PepperDash Essentials!
PepperDash Essentials is an open-source framework for control systems, built on Crestron's Simpl# Pro framework. It can be configured as a standalone program capable of running a wide variety of system designs and can also be used to augment other Crestron programs.
Essentials is a collection of C# libraries that can be used in many ways. It is a 100% configuration-driven framework that can be extended to add different workflows and behaviors, either through the addition of new device-types and classes, or via a plug-in mechanism. The framework is a collection of things that are all related and interconnected, but in general do not have strong dependencies on each other.
Get started
- Download essentials build or clone repo
- How to get started
- YouTube Video Series Playlist
- Discord Server
Or use the links to the right to navigate our documentation.
Benefits
- Runs on Crestron 3-Series, 4-Series and VC-4 Control System platforms
- Reduced hardware overhead compared to S+ and Simpl solutions
- Quick development cycle
- Shared resources made easily available
- More flexibility with less code
- Configurable using simple JSON files
- Is awesome
Documentation
Click the links to the right to explore Essentials further!
Comment
The Essentials wiki is clearly in-progress right now. Take a look at the links to the right. We are actively working on this documentation, so please be patient with us. If you have any comments on or suggestions for the documentation, please file an issue here, with as much detail as you can provide: https://github.com/PepperDash/Essentials/issues
Thanks!
Collaboration
Essentials is an open-source project and we encourage collaboration on this community project. For features that may not be useful to the greater community, or for just-plain learning, we want to remind developers to try writing plugins for Essentials. More information can be found here: Plugins
Open-source-collaborative workflow
The main
branch always contain the latest stable version. The development
branch is used for most development efforts.
GitFlow will be used as the workflow for this collaborative project. To contribute, follow this process:
- Fork this repository (More Info)
- Create a branch using standard GitFlow branch prefixes (feature/hotfix) followed by a descriptive name.
- Example:
feature/add-awesomeness
orhotfix/really-big-oops
- When working on a new feature or bugfix, branch from the
development
branch. When working on a hotfix, branch frommain
.
- Example:
- Make commits as necessary (often is better). And use concise, descriptive language, leveraging issue notation and/or Closing Keywords to ensure any issues addressed by your work are referenced accordingly.
- When the scope of the work for your branch is complete, make sure to rebase your branch in case further progress has been made since the repo was forked
- Create a Pull Request to pull your branch into the appropriate branch in the main repository.
- Your Pull Request will be reviewed by our team and evaluated for inclusion into the main repository.
Next: Get started