code: func (s *Action) initLocal(ctx context.Context, c *cli.Context) error {
  	ctx = out.AddPrefix(ctx, "[local] ")
  
  	path := ""
  	if s.Store != nil {
  		path = s.Store.URL()
  	}
  
  	out.Print(ctx, "Initializing your local store ...")
  	if err := s.init(out.WithHidden(ctx, true), "", path); err != nil {
  		return errors.Wrapf(err, "failed to init local store")
  	}
  	out.Green(ctx, " -> OK")
  
  	out.Print(ctx, "Configuring your local store ...")
  
  	if want, err := termio.AskForBool(ctx, out.Prefix(ctx)+"Do you want to add a git remote?", false); err == nil && want {
  		out.Print(ctx, "Configuring the git remote ...")
  		if err := s.initSetupGitRemote(ctx, "", ""); err != nil {
  			return errors.Wrapf(err, "failed to setup git remote")
  		}
  		// autosync
  		if want, err := termio.AskForBool(ctx, out.Prefix(ctx)+"Do you want to automatically push any changes to the git remote (if any)?", true); err == nil {
  			s.cfg.Root.AutoSync = want
  		}
  	} else {
  		s.cfg.Root.AutoSync = false
  	}
  
  	// noconfirm
  	if want, err := termio.AskForBool(ctx, out.Prefix(ctx)+"Do you want to always confirm recipients when encrypting?", false); err == nil {
  		s.cfg.Root.NoConfirm = !want
  	}
  
  	// save config
  	if err := s.cfg.Save(); err != nil {
  		return errors.Wrapf(err, "failed to save config")
  	}
  
  	out.Green(ctx, " -> OK")
  	return nil
  }
docs: // initLocal will initialize a local store, useful for local-only setups or as
  // part of team setups to create the root store