This is not something one would normally do, but this is here for future reference for me.
First of all ensure puppet, facter and hiera source codes are all checked out from git and have the same top level directory.
Then you take the environment.bat file that is shipped with the puppet installer (in the bin directory), copy it somewhere that you have in the PATH and you edit the first two lines to change the PL_BASEDIR to your top level directory for all of those previous items.
REM Avoid the nasty \..\ littering the paths.
::COMMENT THIS LINE SET PL_BASEDIR=%PL_BASEDIR:\bin\..=%
Then copy the puppet.bat file over to the same directory as your modified environment.bat file and you are money.
Don’t have those files? No problem, I’ve created a Gist for that.
Puppet for the Win[dows]!