A developer productivity toolkit for 4PS teams working with Azure DevOps.
Features
Instruction File Sync
Keep your team's Copilot instruction files in a central Azure DevOps repository. The extension pulls them into every developer's workspace on demand, ensuring everyone works with the latest coding standards and guidelines.
- Preserves the folder structure from the source repository
- Configurable file patterns and source paths
- Files are written to
.github/instructions/ where Copilot Chat picks them up as context
Team-Based Content Sync
Sync instructions, agents, prompts, and skills from a shared Azure DevOps repo, scoped per team. General content is shared across all teams, while team-specific content is only synced for the selected team.
Azure DevOps Repo Structure
Organize your repo using this convention:
repo root
├── general/ ← synced for ALL teams
│ ├── instructions/
│ │ └── coding-standards.instructions.md
│ ├── agents/
│ │ └── code-reviewer.md
│ ├── prompts/
│ │ └── explain-code.md
│ └── skills/
│ └── shared-skill.md
│
├── al/ ← AL Developer team only
│ ├── instructions/
│ ├── agents/
│ ├── prompts/
│ └── skills/
│
├── web/ ← Web Developer team only
│ ├── instructions/
│ ├── agents/
│ ├── prompts/
│ └── skills/
│
├── app/ ← App Developer team only
│ ├── instructions/
│ ├── agents/
│ ├── prompts/
│ └── skills/
│
├── qa/ ← QA Engineer team only
│ ├── instructions/
│ ├── agents/
│ ├── prompts/
│ └── skills/
│
├── devsecops/ ← DevSecOps Engineer team only
│ ├── instructions/
│ ├── agents/
│ ├── prompts/
│ └── skills/
│
├── productmanagement/ ← Product Manager team only
│ ├── instructions/
│ ├── agents/
│ ├── prompts/
│ └── skills/
│
└── powerplatform/ ← Power Platform Developer team only
├── instructions/
├── agents/
├── prompts/
└── skills/
Workspace Result
When a user has team set to "al", the extension syncs general + al into the standard VS Code Copilot locations:
.github/
├── instructions/
│ ├── general/ ← from general/instructions/
│ │ └── coding-standards.instructions.md
│ └── al/ ← from al/instructions/
│ └── al-patterns.instructions.md
├── agents/
│ ├── general/ ← from general/agents/
│ │ └── code-reviewer.md
│ └── al/ ← from al/agents/
│ └── al-assistant.md
├── prompts/
│ ├── general/ ← from general/prompts/
│ │ └── explain-code.md
│ └── al/ ← from al/prompts/
│ └── al-object-wizard.md
└── skills/
├── general/ ← from general/skills/
│ └── shared-skill.md
└── al/ ← from al/skills/
└── al-skill.md
VS Code Copilot recursively picks up all files under .github/instructions/, .github/agents/, etc., so subfolders work transparently.
Enabling Team Mode
Set the teams setting in your VS Code settings. You can select one or more teams:
{
"instructionFileSync.teams": ["al"]
}
Members working across multiple teams can select all that apply:
{
"instructionFileSync.teams": ["al", "web"]
}
Or use the persona picker (4PS: Install Extensions for Persona) — it will offer to add the team automatically.
Backward compatible: If teams is empty (the default), the extension works exactly as before — syncing a single sourcePath to targetPath.
Persona-Based Extension Installer
Install a curated set of VS Code extensions and MCP servers based on your role. Select your persona from a list and the toolkit sets everything up for you.
| Persona |
Team ID |
Extensions |
MCP Servers |
| AL Developer |
al |
BC Code Intelligence, BC Telemetry Buddy |
Serena, Microsoft Docs, Atlassian, Azure DevOps |
| App Developer |
app |
— |
Microsoft Docs, Atlassian, Azure DevOps |
| Web Developer |
web |
— |
Angular CLI, CSS, Microsoft Docs, Atlassian, Azure DevOps |
| Power Platform Developer |
powerplatform |
Power Platform Tools |
Microsoft Docs, Atlassian, Azure DevOps |
| QA Engineer |
qa |
Mermaid Preview, BC Code Intelligence |
Microsoft Docs, Atlassian, Azure DevOps |
| DevSecOps Engineer |
devsecops |
— |
Microsoft Docs, Atlassian, Azure DevOps |
| Product Manager |
productmanagement |
— |
Atlassian |
MCP servers are configured in .vscode/mcp.json in your workspace, merging with any existing configuration.
Microsoft SSO Authentication
No Personal Access Tokens needed. The extension uses VS Code's built-in Microsoft authentication provider, so you sign in with your regular Azure/Microsoft account.
Getting Started
1. Install
Install from the VS Code Marketplace or from a .vsix file:
code --install-extension 4ps-dev-toolkit-1.3.0.vsix
Open VS Code Settings (Ctrl+,) and search for Instruction File Sync, or add to your settings.json:
{
"instructionFileSync.organization": "4ps",
"instructionFileSync.project": "YourProject",
"instructionFileSync.repository": "YourRepo"
}
Use the 4PS: Sync Instruction Files from Azure DevOps command when you want to pull the latest files. You'll be prompted to sign in with your Microsoft account on first use.
Optional: Enable Team Mode
To sync team-specific content (instructions, agents, prompts, skills):
{
"instructionFileSync.teams": ["al"]
}
Or run 4PS: Install Extensions for Persona and accept the prompt to add your team.
3. Use
Open the Command Palette (Ctrl+Shift+P):
| Command |
Description |
4PS: Sync Instruction Files from Azure DevOps |
Pull the latest files (instructions, agents, prompts, skills in team mode) |
4PS: Install Extensions for Persona |
Install recommended extensions and set team |
Settings
| Setting |
Default |
Description |
instructionFileSync.organization |
"" |
Azure DevOps organization name |
instructionFileSync.project |
"" |
Azure DevOps project name |
instructionFileSync.repository |
"" |
Azure DevOps repository name |
instructionFileSync.branch |
"master" |
Branch to sync from |
instructionFileSync.teams |
[] |
Teams for content sync and plugin scopes: al, web, app, qa, devsecops, productmanagement, powerplatform. Multiple allowed. |
instructionFileSync.bcAlCopilot.enabled |
true |
Enable automatic BC AL Copilot plugin sync/install on activation using the configured Azure DevOps settings. |
Requirements
- VS Code 1.99 or later
- Access to an Azure DevOps Git repository
- A Microsoft/Azure account with permissions to the target repository
License
MIT