npm.io
2.2.4 • Published yesterdayCLI

@savaryna/git-add-account

Licence
MIT
Version
2.2.4
Deps
4
Size
12 kB
Vulns
0
Weekly
0
Stars
5

@savaryna/add-git-account

A small CLI app that allows you to easily add multiple Git accounts on one machine. It switches between accounts automatically based on the workspace you are in.

Agent usage (skill)

Add the skill using

npx skills add savaryna/git-add-account

and ask your agent to "add a new git account".

CLI usage

Run the command direcly with

npx @savaryna/git-add-account

or if you installed it globally with

npm i -g @savaryna/git-add-account

then you can run it using

git-add-account
# or the shorter version
gaa

For usage and command details run it with the --help option.

The add command also supports these options:

  • --non-interactive runs without prompts. Provide all required options.
  • --dry-run previews the config files without writing them to disk.

After going through all the steps, you will be presented with your public SSH key so you can copy, and add it to your Git provider. For example GitHub^1:

  1. Copy the public SSH key.
  2. Go to the SSH keys settings page.
  3. Click on New SSH key.
  4. Add the key as an Authentication Key.
  5. Click on Add SSH key.
  6. Add the same key again as a Signing Key if you chose to sign your work^2.

Done! Any git command you run from the workspace you chose (and its subdirectories), will now use this new account automatically.

How it works

A simple way to use multiple Git accounts on one machine is to use different SSH configs based on the directory you are in. The way @savaryna/add-git-account works is, it asks you for some basic information and then it creates files under .config/ in the workspace directory you specified.

  1. It creates a private/public ed25519 SSH keypair using ssh-keygen (see code).
  2. It creates a sshconfig file based on this template.
  3. It creates a gitconfig file based on this template.
  4. It appends a conditional include to your global Git config based on this template. This makes sure that any git command you run from the workspace you chose (and its subdirectories), will now use this new account automatically^3.
  5. Finally, it presents you with your public SSH key so you can copy, and add it to your Git provider.

License

MIT Alex Tofan

Keywords