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 "[email protected]"
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 defaultidentity 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": "[email protected]",
"description": "Own backend correctness. Preserve public contracts, keep changes small, and verify risky database behavior."
},
{
"label": "Reviewer",
"name": "Reviewer",
"email": "[email protected]",
"description": "Review from a risk-first stance. Prioritize bugs, regressions, missing tests, and unclear rollout assumptions."
},
{
"label": "Migration Planner",
"name": "Migration Planner",
"email": "[email protected]",
"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 PersonaGit Personas: Manage PersonasGit Personas: Refresh StatusGit 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.