Skip to content

v0.5.0: Multi-Account Core & Guard

Choose a tag to compare

@MShrinath MShrinath released this 31 Oct 11:26
· 26 commits to main since this release

What's Changed in v0.5.0: Multi-Account Core & Guard

1. Per-Repository Profile Binding & Dynamic Status Bar

  • Deterministic Profile Resolution: Follows explicit repository binding -> matcher -> global fallback.
  • Repository Isolation: Switching profile applies cleanly to the active repository without mutating other repositories in multi-root workspaces.
  • Dynamic Status Bar & Mismatch Detection: Status bar tracks the active editor's repository, compares its local user.email with the bound profile, and displays a warning with quick-fix guidance if mismatched.
  • QuickPick & Command Integration: Added commands gitaxis.bindRepo, gitaxis.unbindRepo, and gitaxis.verifyAccount.

2. Wrong-Account SSH & API Fixes

  • SSH Key Isolation: Enforces -o IdentitiesOnly=yes in core.sshCommand (ssh -i "<key>" -o IdentitiesOnly=yes) with quoted path safety to prevent ssh-agent from silently offering conflicting keys.
  • GitHub CLI User Scoping: Leverages gh auth token --hostname <host> --user <username> to resolve the exact token for the targeted GitHub account.
  • Accurate Error Reporting: Preserves HTTP 401/403/404 errors instead of swallowing them with silent fallbacks.

3. Commit & Push Guard

  • Pre-Commit Guard: Checks repository user.email and user.name against the bound profile; offers "Fix and continue", "Commit anyway", or "Cancel" when mismatched.
  • Pre-Push Guard: Checks remote repository owner against profile allowed organizations/usernames and wildcard patterns.
  • Configurable Safety: Configured via gitaxis.guard.mode (block | warn | off), failing closed safely when safety checks cannot execute.

4. Inline "Verify Account" Action

  • Inline Verify button per profile in the sidebar webview and command palette.
  • Supports GitHub PAT (verifies user, token expiration, scopes), GitHub CLI status, and SSH handshakes (ssh -T git@github.com).
  • Displays live verification badges and authenticated account names.

Full Changelog: v0.4.0...v0.5.0

Full Changelog: v0.4.0...v0.5.0

Full Changelog: v0.4.0...v0.5.0