def repo(name, options = {})
      ap options if options[:debug]
      path    = normalized_path(name)
      project = File.basename(path)
      use_git = FalkorLib::Git.init?(path)
      if options[:rake]
        options[:make] = false
        options[:rvm]  = true
      end
      info "Bootstrap a [Git] repository for the project '#{project}'"
      if use_git
        warning "Git is already initialized for the repository '#{name}'"
        really_continue? unless options[:force]
      end
      if options[:git_flow]
        info " ==> initialize Git flow in #{path}"
        FalkorLib::GitFlow.init(path, options)
        gitflow_branches = {}
        [ :master, :develop ].each do |t|
          gitflow_branches[t.to_sym] = FalkorLib::GitFlow.branches(t, path)
        end
      else
        FalkorLib::Git.init(path, options)
      end
      # === prepare Git submodules ===
      submodules = {}
      #'gitstats' => { :url => 'https://github.com/hoxu/gitstats.git' }
      unless submodules.empty?
        info " ==> prepare the relevant Git submodules"
        FalkorLib::Git.submodule_init(path, submodules)
      end
      # === Prepare root [M|R]akefile ===
      FalkorLib::Bootstrap.makefile(path, gitflow_branches) if options[:make]
      if options[:rake]
        info " ==> prepare Root Rakefile"
        rakefile = File.join(path, "Rakefile")
        unless File.exist?( rakefile )
          templatedir = File.join( FalkorLib.templates, 'Rakefile')
          erbfiles = [ 'header_rakefile.erb' ]
          erbfiles << 'rakefile_gitflow.erb' if FalkorLib::GitFlow.init?(path)
          erbfiles << 'footer_rakefile.erb'
          write_from_erb_template(erbfiles, rakefile, {}, :srcdir => templatedir.to_s)
        end
      end

      # === VERSION file ===
      FalkorLib::Bootstrap.versionfile(path, :tag => 'v0.0.0') unless options[:gem]

      # === RVM ====
      FalkorLib::Bootstrap.rvm(path, options) if options[:rvm]

      # === README ===
      FalkorLib::Bootstrap.readme(path, options) # This should also save the project configuration
      # collect the set options
      local_config = FalkorLib::Config.get(path)

      # === MkDocs ===
      FalkorLib::Bootstrap.mkdocs(path, options) if options[:mkdocs]

      # === Licence ===
      if (local_config[:project] and local_config[:project][:license])
        author  = local_config[:project][:author] ? local_config[:project][:author] : FalkorLib::Config::Bootstrap::DEFAULTS[:metadata][:author]
        FalkorLib::Bootstrap.license(path, local_config[:project][:license], author,  options)
      end
      #


      #===== remote synchro ========
      if options[:remote_sync]
        remotes = FalkorLib::Git.remotes(path)
        if remotes.include?( 'origin' )
          info "perform remote synchronization"
          [ :master, :develop ].each do |t|
            FalkorLib::Git.publish(gitflow_branches[t.to_sym], path, 'origin')
          end
        else
          warning "no Git remote  'origin' found, thus no remote synchronization performed"
        end
      end
    end
def repo(name, options = {})
      ap options if options[:debug]
      path    = normalized_path(name)
      project = File.basename(path)
      use_git = FalkorLib::Git.init?(path)
      if options[:rake]
        options[:make] = false
        options[:rvm]  = true
      end
      info "Bootstrap a [Git] repository for the project '#{project}'"
      if use_git
        warning "Git is already initialized for the repository '#{name}'"
        really_continue? unless options[:force]
      end
      if options[:git_flow]
        info " ==> initialize Git flow in #{path}"
        FalkorLib::GitFlow.init(path, options)
        gitflow_branches = {}
        [ :master, :develop ].each do |t|
          gitflow_branches[t.to_sym] = FalkorLib::GitFlow.branches(t, path)
        end
      else
        FalkorLib::Git.init(path, options)
      end
      # === prepare Git submodules ===
      submodules = {}
      #'gitstats' => { :url => 'https://github.com/hoxu/gitstats.git' }
      unless submodules.empty?
        info " ==> prepare the relevant Git submodules"
        FalkorLib::Git.submodule_init(path, submodules)
      end
      # === Prepare root [M|R]akefile ===
      FalkorLib::Bootstrap.makefile(path, gitflow_branches) if options[:make]
      if options[:rake]
        info " ==> prepare Root Rakefile"
        rakefile = File.join(path, "Rakefile")
        unless File.exist?( rakefile )
          templatedir = File.join( FalkorLib.templates, 'Rakefile')
          erbfiles = [ 'header_rakefile.erb' ]
          erbfiles << 'rakefile_gitflow.erb' if FalkorLib::GitFlow.init?(path)
          erbfiles << 'footer_rakefile.erb'
          write_from_erb_template(erbfiles, rakefile, {}, :srcdir => templatedir.to_s)
        end
      end

      # === VERSION file ===
      FalkorLib::Bootstrap.versionfile(path, :tag => 'v0.0.0') unless options[:gem]

      # === RVM ====
      FalkorLib::Bootstrap.rvm(path, options) if options[:rvm]

      # === README ===
      FalkorLib::Bootstrap.readme(path, options) # This should also save the project configuration
      # collect the set options
      local_config = FalkorLib::Config.get(path)

      # === MkDocs ===
      FalkorLib::Bootstrap.mkdocs(path, options) if options[:mkdocs]

      # === Licence ===
      if (local_config[:project] and local_config[:project][:license])
        author  = local_config[:project][:author] ? local_config[:project][:author] : FalkorLib::Config::Bootstrap::DEFAULTS[:metadata][:author]
        FalkorLib::Bootstrap.license(path, local_config[:project][:license], author,  options)
      end
      #


      #===== remote synchro ========
      if options[:remote_sync]
        remotes = FalkorLib::Git.remotes(path)
        if remotes.include?( 'origin' )
          info "perform remote synchronization"
          [ :master, :develop ].each do |t|
            FalkorLib::Git.publish(gitflow_branches[t.to_sym], path, 'origin')
          end
        else
          warning "no Git remote  'origin' found, thus no remote synchronization performed"
        end
      end
    end
repo 
 Initialize a Git repository for a project with my favorite layout
 Supported options:
 * :no_interaction [boolean]: do not interact
 * :gitflow     [boolean]: bootstrap with git-flow
 * :license     [string]  License to use
 * :licensefile [string]  License filename (default: LICENSE)
 * :interactive [boolean] Confirm Gitflow branch names
 * :master      [string]  Branch name for production releases
 * :develop     [string]  Branch name for development commits
 * :make        [boolean] Use a Makefile to pilot the repository actions
 * :rake        [boolean] Use a Rakefile (and FalkorLib) to pilot the repository action
 * :remote_sync [boolean] Operate a git remote synchronization
 * :latex       [boolean] Initiate a LaTeX project              **NOT YET IMPLEMENTED**
 * :gem         [boolean] Initiate a Ruby gem project           **NOT YET IMPLEMENTED**
 * :mkdocs      [boolean] Initiate MkDocs within your project
 * :rvm         [boolean] Initiate a RVM-based Ruby project
 * :pyenv       [boolean] Initiate a pyenv-based Python project **NOT YET IMPLEMENTED**
 * :octopress   [boolean] Initiate an Octopress web site        **NOT YET IMPLEMENTED**