The Recipe file does all of the work setting up the project, but it does most of this by copying and expanding directories which exist in the template root directory.
One key command that you are likely to use is copy, which copies a directory and all its subdirectories from the template root to the project. The command instantiate does the same job as copy, but it expands any FreeMarker tags within the files. The final command is merge, which as you can guess merges the content of a source file in the template root with a project file.
The Recipe file starts out by loading compatibility libraries if they are needed:
When this file is processed it is merged with any existing manifest file in such a way that only the new lines are added. What this means is that when the same template is used to create a new activity within an existing project only the new definition of the activity is added to the existing manifest.
This ends the recipe file and the entire template.
Where Next
It would be wise not to spend too much time and effort on hand crafted templates as Android Studio is still changing, but you can see that simple templates are easy enough. If you study the documentation for FreeMarker and use the existing templates as examples, you should be able to cope until there is full documentation.
The template presented here can be downloaded from the CodeBin. Note you have to register with I Programmer to access this.
Getting access from an application to the hardware is never easy. If you want to know how well your disk drive is performing then there is a way of accessing the SMART data - including the temper [ ... ]
Setting up a point-to-point VPN is relatively easy but site-to-site is much more complicated involving certificates and more IP addresses than you can count. Find out how to do it using OpenVPN.