A CLI tool for setting up Git identity and GitHub SSH configuration with an interactive setup process.
npm install -g github-git-setupLinux users (one-time setup):
If you get permission errors, configure npm once:
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrcAfter this one-time setup, you can use npm install -g for any package without sudo or permission issues.
For development or to install from source:
git clone https://github.com/aikengunay/github-git-setup.git
cd github-git-setup
npm install -g .The -g flag installs the package globally, making github-git-setup available from any directory in your terminal.
github-git-setupRun github-git-setup from any directory. The tool will guide you through:
- Git Identity Setup: Configure your name and email
- SSH Key Generation: Create an ED25519 SSH key for GitHub
- SSH Config: Automatically configure SSH for GitHub
- Connection Test: Verify your SSH connection to GitHub
Examples:
# Run setup
github-git-setup
# Show current configuration
github-git-setup --config
# Show version
github-git-setup --version
# Show help
github-git-setup --help- Interactive Git identity configuration
- Automatic SSH key generation (ED25519)
- SSH config setup for GitHub
- Cross-platform clipboard support (Windows, macOS, Linux)
- SSH connection testing
- Configuration persistence
- Cross-platform support (Windows, macOS, Linux)
# Show current configuration
github-git-setup --config
# Show version
github-git-setup --version
# Show help
github-git-setup --helpConfig file location: ~/.config/git-setup/config.json
The tool saves your Git identity and SSH key path for reference, but Git configuration is stored in Git's global config (git config --global).
- Node.js 14 or higher
- Git
- SSH (usually pre-installed on macOS/Linux, available for Windows via Git for Windows)
- Uses
clipcommand for clipboard - SSH key permissions are handled automatically
- Works with Git for Windows
- Uses
pbcopycommand for clipboard - Proper SSH key permissions (600) and directory permissions (700)
- ssh-agent integration
- Uses
xcliporxselfor clipboard (if available) - Proper SSH key permissions (600) and directory permissions (700)
- ssh-agent integration
- Note: For npm global installs, configure npm prefix to avoid permission errors (see Install section)
npm uninstall -g github-git-setupNote: This will not remove your Git configuration or SSH keys. To remove those:
# Remove Git config (optional)
git config --global --unset user.name
git config --global --unset user.email
# Remove SSH key (optional)
rm ~/.ssh/id_ed25519_github
rm ~/.ssh/id_ed25519_github.pubContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT