code: func Main(args []string) error {
  	pkgName := "github.com/plaid/plaid-go"
  	pkg, err := build.Import(pkgName, "", build.FindOnly)
  	if err != nil {
  		return err
  	}
  
  	// Open the git repository
  	logger.Println("Opening", pkgName)
  	r, err := git.PlainOpen(pkg.Dir)
  	if err != nil {
  		return err
  	}
  
  	w, err := r.Worktree()
  	if err != nil {
  		return err
  	}
  
  	// Check the git status to make sure the working tree is clean
  	status, err := w.Status()
  	if err != nil {
  		return err
  	}
  
  	if !status.IsClean() {
  		return fmt.Errorf("working tree contains uncommitted changes, cannot proceed")
  	}
  
  	release, err := validateArguments(args)
  	if err != nil {
  		return err
  	}
  
  	newVersion, err := incrementVersion(pkg, release)
  	if err != nil {
  		return err
  	}
  
  	if _, err := w.Add("internal"); err != nil {
  		return err
  	}
  
  	logger.Println("added internal/... to working tree")
  
  	if err := commitAndTagRepo(r, w, newVersion); err != nil {
  		return err
  	}
  
  	return nil
  }
docs: // Main is the entry point into the release script