code: func (s *RepositoriesService) Create(ctx context.Context, org string, repo *Repository) (*Repository, *Response, error) {
  	var u string
  	if org != "" {
  		u = fmt.Sprintf("orgs/%v/repos", org)
  	} else {
  		u = "user/repos"
  	}
  
  	repoReq := &createRepoRequest{
  		Name:              repo.Name,
  		Description:       repo.Description,
  		Homepage:          repo.Homepage,
  		Private:           repo.Private,
  		HasIssues:         repo.HasIssues,
  		HasProjects:       repo.HasProjects,
  		HasWiki:           repo.HasWiki,
  		TeamID:            repo.TeamID,
  		AutoInit:          repo.AutoInit,
  		GitignoreTemplate: repo.GitignoreTemplate,
  		LicenseTemplate:   repo.LicenseTemplate,
  		AllowSquashMerge:  repo.AllowSquashMerge,
  		AllowMergeCommit:  repo.AllowMergeCommit,
  		AllowRebaseMerge:  repo.AllowRebaseMerge,
  	}
  
  	req, err := s.client.NewRequest("POST", u, repoReq)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	r := new(Repository)
  	resp, err := s.client.Do(ctx, req, r)
  	if err != nil {
  		return nil, resp, err
  	}
  
  	return r, resp, nil
  }
docs: // Create a new repository. If an organization is specified, the new
  // repository will be created under that org. If the empty string is
  // specified, it will be created for the authenticated user.
  //
  // Note that only a subset of the repo fields are used and repo must
  // not be nil.
  //
  // GitHub API docs: https://developer.github.com/v3/repos/#create