1. A method for generating and executing a template for creating data comprising: detecting at least one file upon which the template will be based by scanning a predetermined memory location where the at least one file is stored; if a tailored metadata file is not provided, creating a metadata file associated with the template and the data, wherein the metadata file is coded at least in part in a declarative programming language, the metadata file including three sections, a TemplateData section that defines an appearance of the template, a TemplateContent section that defines content and creation parameters of the template and a ReplaceParameters section, wherein the metadata file provides information regarding the template contents and template creation process and wherein the metadata file determines whether the data to be created will be created in a separate folder for the data, wherein the metadata file is created by using inference rules to index the at least one file by determining elements of the at least one file to be generalized; packaging a project file and at least one code file and the associated metadata file into a single transferable file; storing the single file in a UI (“User Interface”) accessible location based upon whether the template is a user-created template, a pre-defined template, an item template or a project template; displaying an identifier for the single file in a customized UI, wherein the UI is customized based upon whether the template is a user-created template, a pre-defined template, an item template or a project template; upon receiving an indicator of selection of the template from the index: if the ReplaceParameters section indicates a true status, performing parameter substitution; executing the at least one code file; creating a project according to specifications of the metadata file.