git-devkit is a cross-platform Git identity toolkit.
The primary CLI inside this project is git-multi-ssh, which helps you manage multiple Git/SSH identities (work, personal, client) safely and predictably across Windows, macOS, and Linux.
- Project/repository/root folder:
git-devkit - CLI tool/command:
git-multi-ssh
The repository now includes major improvements:
- Cross-platform support for Windows, macOS, and Linux
- Case-aware matching strategy by OS
- Windows/macOS use
gitdircase - Linux uses
gitdir
- Windows/macOS use
- Path normalization across OS path styles (
/,\\,~, spaces) - Pure Node.js file operations for setup/config workflows
- Replaced shell-dependent operations with
fs,path, andos
- Replaced shell-dependent operations with
- Universal setup entrypoint
npm run setupworks as the main setup flow
- Improved config parsing for includeIf path patterns
- Clear project/tool naming and contributor documentation
git-multi-ssh automates account isolation by folder:
- Creates SSH keys per identity
- Updates
~/.ssh/configin managed blocks - Creates per-account Git config includes
- Configures
includeIfrules by repo root - Verifies SSH/Git setup with guided checks
- Node.js 18+
- npm
- Git
- OpenSSH tools (
ssh,ssh-keygen,ssh-add)
git clone https://github.com/sahulkola/git-devkit.git
cd git-devkit
npm install
npm run setupgit clone https://github.com/sahulkola/git-devkit.git
cd git-devkit
npm install
npm linkThen run:
git-multi-sshStart interactive setup:
git-multi-sshYou will be guided through:
- Account label (for example
work,personal) - Git user name and email
- Provider host alias and SSH key path
- Project root directory for automatic identity routing
- Windows/macOS matching is effectively case-insensitive via
gitdircase - Linux matching is case-sensitive via
gitdir - Paths are normalized before writing rules so mixed separators and user input styles are handled consistently
git-devkit/
bin/ # CLI entrypoints (git-multi-ssh)
lib/ # Core generation + file management logic
handbook/ # Categorized project documentation
getting-started/
guides/
technical/
status/
docs-app/ # Angular documentation site
setup.js # Universal setup script
Start with the handbook index:
Quick links by category:
- Getting started: handbook/getting-started/START_HERE.md
- Quick setup: handbook/getting-started/QUICK_START.md
- Cross-platform details: handbook/getting-started/CROSS_PLATFORM.md
- Project naming and structure: handbook/guides/PROJECT_STRUCTURE.md
- Contributor guide: handbook/guides/CONTRIBUTORS_GUIDE.md
- Technical changes: handbook/technical/CROSS_PLATFORM_CHANGES.md
- Validation matrix: handbook/technical/VALIDATION.md
If setup is not working as expected:
- handbook/getting-started/CROSS_PLATFORM.md
- handbook/technical/VALIDATION.md
- handbook/technical/ISSUES_FIXED.md
Please read:
Run documentation link validation before pushing:
npm run docs:checkThis verifies local markdown links across project-authored docs and fails if a target file is missing.
MIT