code: def init(*args):
      
      parser = argparse.ArgumentParser(prog="%s %s" % (__package__, init.__name__), description=init.__doc__)
      parser.add_argument('FRAGMENTS_ROOT', help="root directory in which to create the _fragments/ directory", nargs="?")
      args = parser.parse_args(args)
  
      try:
          config = FragmentsConfig()
      except ConfigurationFileCorrupt:
          config = FragmentsConfig(autoload=False)
          os.rename(config.path, config.path + '.corrupt')
          config.dump()
      except ConfigurationFileNotFound:
          config = FragmentsConfig(autoload=False)
          config.dump()
      except ConfigurationDirectoryNotFound:
          if args.FRAGMENTS_ROOT:
              configuration_parent = os.path.realpath(args.FRAGMENTS_ROOT)
          else:
              configuration_parent = os.getcwd()
          if os.access(configuration_parent, os.R_OK|os.W_OK):
              configuration_path = os.path.join(configuration_parent, configuration_directory_name)
              os.mkdir(configuration_path)
              config = FragmentsConfig(configuration_path, autoload=False)
              config.dump()
          else:
              raise ExecutionError("Could not create fragments directory in '%s', aborting.\n(Do you have the correct permissions?)" % configuration_parent)
      else:
          raise ExecutionError("Current fragments configuration found in '%s', aborting." % config.path)
      yield "Fragments configuration created in '%s'" % config.path
docs: Initialize a new fragments repository. Repository is in a directory named _fragments/, created in either the current working directory, or FRAGMENTS_ROOT if specified.