Before you decide to work on puppet there are few things that you need to know.
puppet work in both client-server architecture (widely used) as well single machine (specially for testing purpose)
puppet master can only be configured on a linux machine (master machine/node), windows can be used only as client (managed machine/node)
if configuring master, you must be aware of using linux machine and basic commands
puppet provides it's own configuration language that looks like json