Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Git PersonasNew to Visual Studio Code? Get it now.
Git Personas

Git Personas

Evgenii Ustinkin

|
2 installs
| (0) | Free
Switch project role profiles from the status bar with folder hierarchy, Git identity, and local AI context.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Git Personas

Small VS Code extension for planning and switching between project roles from one workspace.

Use it when the same project needs different working modes: backend owner, reviewer, migration planner, release captain, incident responder, documentation writer, or any other role with its own expectations.

It adds a status bar item that shows the current active role. Click it to choose a role profile. The selected profile can also write a matching Git author identity into the current repository:

git config user.name "Alice Dev"
git config user.email "alice@example.com"

Selections are hierarchical by folder path. If you choose a role while editing a file in a parent folder, child folders inherit it until you open a file in a child folder and choose a different role there. The extension writes the effective role into the Git repository that contains the active file so commits and AI context use the same active profile.

Features

  • Status bar role picker.
  • Folder-based role hierarchy.
  • Protected Current default identity from Git config.
  • Role manager UI with label, name, email, and AI/context description.
  • Local AI context file at .git/git-personas/active-profile.md.

Settings

Add role profiles to your user or workspace settings:

{
  "gitPersonas.personas": [
    {
      "label": "Backend Owner",
      "name": "Backend Owner",
      "email": "backend-owner@example.com",
      "description": "Own backend correctness. Preserve public contracts, keep changes small, and verify risky database behavior."
    },
    {
      "label": "Reviewer",
      "name": "Reviewer",
      "email": "reviewer@example.com",
      "description": "Review from a risk-first stance. Prioritize bugs, regressions, missing tests, and unclear rollout assumptions."
    },
    {
      "label": "Migration Planner",
      "name": "Migration Planner",
      "email": "migration-planner@example.com",
      "description": "Plan system migrations. Focus on contracts, phased rollout, rollback paths, parity tests, and operational risks."
    }
  ]
}

AI Context File

The extension writes the active role profile into Git's private local directory:

.git/git-personas/active-profile.md

This file is not part of the working tree and cannot be committed. Tell your AI assistant to read that file before answering or editing code. It includes the active label, Git identity, folder scope, repo path, and role description.

Commands

  • Git Personas: Select Persona
  • Git Personas: Manage Personas
  • Git Personas: Refresh Status
  • Git Personas: Clear Repo Persona

Publishing

Before publishing, make sure these fields in package.json match your real accounts:

{
  "publisher": "booomch",
  "repository": {
    "url": "https://github.com/booomch/git-personas.git"
  }
}

1. Create A Marketplace Publisher

Open:

https://marketplace.visualstudio.com/manage

Create a publisher. Its ID must match publisher in package.json.

2. Create A Personal Access Token

Create an Azure DevOps token for Marketplace publishing. Give it access to Marketplace extension management.

Keep the token private. vsce login stores it locally.

3. Install Dependencies

npm install

4. Verify And Package

npm run check
npm run compile
npm run package

You can test a packaged .vsix locally:

code --install-extension git-personas-0.0.1.vsix

5. Login And Publish

npx vsce login booomch
npm run publish

For later releases, bump the version first:

npm version patch
npm run package
npm run publish

Use minor or major instead of patch when appropriate.

Notes

This changes the commit author identity for the current repository only. Push/fetch credentials are separate and should still be handled with SSH host aliases or your credential manager.

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