Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>Swiggit - Multi-Org Git ManagerNew to Visual Studio Code? Get it now.
Swiggit - Multi-Org Git Manager

Swiggit - Multi-Org Git Manager

Purfect Labs

|
1 install
| (0) | Free
Manage Git operations across multiple organizations with per-project SSH keys and identity management
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🍀 Swiggit - Multi-Organization Git Manager

Manage Git operations across multiple organizations with per-project SSH keys and identity management - right in VS Code!

Perfect for freelancers, contractors, and developers juggling multiple GitHub accounts (personal, work, clients).

✨ Features

🔐 Per-Project Git Identity

  • Configure unique Git user name, email, and SSH keys for each project
  • No more accidental commits with the wrong identity
  • See your current identity in the status bar

🏢 Multi-Organization Support

  • Seamlessly work with personal accounts, work accounts, and client accounts
  • Project-specific .swiggit.json configuration files
  • SSH key isolation with IdentitiesOnly

🚀 Streamlined Git Workflow

  • Quick Commit & Push - Stage, commit, and push in one command
  • Smart Operations - Auto-setup remotes and upstream tracking
  • Safety Features - Confirmation prompts prevent accidents
  • Visual Feedback - See identity and operations in status bar

💻 Integrated Commands

All your favorite Git operations with proper identity management:

  • Swiggit: Initialize Config - Create .swiggit.json for your project
  • Swiggit: Show Identity - Display current Git identity
  • Swiggit: Edit Config - Quick access to configuration
  • Swiggit: Git Status - Check repository status
  • Swiggit: Stage All Changes - Add all files
  • Swiggit: Commit - Commit with message
  • Swiggit: Push - Push to remote
  • Swiggit: Pull - Pull from remote
  • Swiggit: Quick Commit & Push - Do it all at once! 🚀

📦 Installation

From VS Code Marketplace

  1. Open VS Code
  2. Go to Extensions (Cmd+Shift+X)
  3. Search for "Swiggit"
  4. Click Install

From VSIX File

  1. Download the .vsix file
  2. Open VS Code
  3. Extensions → "..." menu → Install from VSIX

Prerequisites

  • Swiggit CLI must be installed
  • Install via: curl -fsSL https://raw.githubusercontent.com/uptime-org/swiggit/main/install.sh | bash

🚀 Quick Start

1. Initialize Configuration

Open your project in VS Code, then:

  • Press Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows/Linux)
  • Type: Swiggit: Initialize Config
  • This creates .swiggit.json in your project root

2. Configure Your Identity

The extension will automatically open .swiggit.json. Update it with your details:

{
  "organizations": {
    "personal": {
      "name": "personal",
      "description": "Personal GitHub Account",
      "git_user_name": "John Doe",
      "git_user_email": "john@example.com",
      "ssh_key_path": "~/.ssh/id_rsa",
      "github_username": "johndoe",
      "github_token": "ghp_xxxxxxxxxxxxxxxxxxxx",
      "expected_user": "johndoe"
    }
  }
}

3. Check Your Identity

  • Look at the status bar (bottom left) - you'll see 👤 johndoe
  • Click it or run Swiggit: Show Identity to see full details

4. Use Git with Proper Identity

Now all Git operations use your configured identity:

  • Swiggit: Quick Commit & Push - Fast workflow! 🚀
  • Or use individual commands: Stage → Commit → Push

📖 Usage Examples

Scenario 1: Freelancer with Multiple Clients

Project A (Client ABC)

{
  "organizations": {
    "personal": {
      "git_user_name": "John Doe",
      "git_user_email": "john@clientabc.com",
      "ssh_key_path": "./.ssh/client_abc_key",
      "github_username": "clientabc"
    }
  }
}

Project B (Client XYZ)

{
  "organizations": {
    "personal": {
      "git_user_name": "John Doe",
      "git_user_email": "john@clientxyz.com",
      "ssh_key_path": "./.ssh/client_xyz_key",
      "github_username": "clientxyz"
    }
  }
}

Each project commits with the correct identity automatically!

Scenario 2: Quick Commit Workflow

  1. Make your code changes
  2. Press Cmd+Shift+P
  3. Type "Swiggit: Quick Commit"
  4. Enter commit message: "feat: add new feature"
  5. Choose whether to push
  6. Done! 🎉

Scenario 3: Multiple Organizations

Add more organizations to your config:

{
  "organizations": {
    "personal": {
      "git_user_name": "John Doe",
      "git_user_email": "john@personal.com",
      "github_username": "johndoe"
    },
    "work": {
      "git_user_name": "John Doe",
      "git_user_email": "john.doe@company.com",
      "github_username": "johndoe-company"
    },
    "client": {
      "git_user_name": "John Doe",
      "git_user_email": "john@client.com",
      "github_username": "client-org"
    }
  }
}

⚙️ Configuration

Extension Settings

Access via Settings → Extensions → Swiggit:

  • swiggit.autoShowIdentity - Show identity in status bar (default: true)
  • swiggit.confirmPush - Ask before pushing (default: true)
  • swiggit.defaultOrganization - Default org to use (default: personal)

Project Configuration

The .swiggit.json file supports:

{
  "default": {
    "org": "personal",
    "branch": "main",
    "visibility": "private"
  },
  "ssh": {
    "options": "-o IdentitiesOnly=yes",
    "key_path": "./.ssh/id_rsa"
  },
  "organizations": {
    "personal": { /* ... */ }
  },
  "cli": {
    "auto_push": true,
    "auto_set_upstream": true
  }
}

🔑 GitHub Token Setup

To use repository creation features:

  1. Go to: https://github.com/settings/tokens
  2. Click "Generate new token (classic)"
  3. Select scope: repo (full control of private repositories)
  4. Copy token
  5. Add to .swiggit.json under github_token

⚠️ Never commit your token! Add .swiggit.json to .gitignore

🎨 Status Bar

The status bar shows:

  • 👤 username - Your current GitHub username
  • Click to view full identity details
  • Tooltip shows: Name, email, SSH key

🔒 Security

  • Each project has its own isolated configuration
  • SSH keys use IdentitiesOnly to prevent key leakage
  • GitHub tokens stored per-project (not globally)
  • .swiggit.json should be in .gitignore

🐛 Troubleshooting

"swiggit: command not found"

Install the Swiggit CLI:

curl -fsSL https://raw.githubusercontent.com/uptime-org/swiggit/main/install.sh | bash

Identity not showing in status bar

  1. Ensure .swiggit.json exists in project root
  2. Check the JSON is valid
  3. Reload VS Code window

Push/Pull fails

  1. Verify SSH key path is correct
  2. Test SSH: ssh -T git@github.com
  3. Ensure GitHub token has correct permissions

📝 Requirements

  • VS Code 1.85.0 or higher
  • Swiggit CLI installed
  • Git installed
  • macOS, Linux, or Windows with WSL

🤝 Contributing

Found a bug or have a feature request?

  • GitHub: https://github.com/purfect-labs/swiggit-vscode
  • Issues: https://github.com/purfect-labs/swiggit-vscode/issues

📄 License

MIT License - See LICENSE file for details.

For commercial use of Swiggit CLI, contact: uptime.llc.ops@gmail.com

🌟 Why Swiggit?

Problem: You're a freelancer working with 5 different clients. Each has their own GitHub organization. You accidentally commit to Client A's repo with Client B's email. 😱

Solution: Swiggit! Each project gets its own identity. Never worry about the wrong commits again.

💰 Support Development

Like Swiggit? Consider:

  • ⭐ Star the repo
  • 🐛 Report bugs
  • 💡 Suggest features
  • ☕ Buy us a coffee: [sponsor link]

Made with 🍀 by Purfect Labs

Secure, multi-organization Git workflows made simple.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft