Multiple identities
Profiles group Git and SSH settings. Hooks select the identity based on a repository’s remote URL.
Case study / 03 — Developer tool · Open source
A Git environment ready to work, one identity at a time.
CLI tool development
Git configuration on macOS
TypeScript · Node.js · Git · SSH / GPG
# Your environment, your identities.
❯ git-setup apply --dry-run
ONE CONFIGURATION, THREE BUILDING BLOCKS
Git · identities
SSH · connections
GPG · signatures
Example command · preview mode
01 / The starting point
Setting up Git on a new Mac can involve multiple identities, SSH keys, GPG signing and hooks. GitSetup brings these steps together in a command-line assistant.
02 / My contribution
I developed a modular TypeScript tool to configure this environment using either an interactive wizard or a JSON file. Profiles can then be added or edited individually.
03 / Technical decisions
Profiles group Git and SSH settings. Hooks select the identity based on a repository’s remote URL.
Dry-run mode describes the planned changes. Backups and markers isolate the configuration managed by the tool.
A Homebrew installation complements installation from source. JSON configuration makes the setup reproducible.
Preview → apply → maintain
04 / A practical challenge
The tool modifies a personal configuration that may already exist. It needs to preserve unrelated settings, detect necessary changes and remain predictable when run multiple times.
05 / The result
GitSetup provides a wizard, profile management and a change preview. Its source code and installation instructions are available on GitHub.