iFacto Playbook VS Code Extension
Automates setup and configuration for iFacto development environments
Overview
The iFacto Playbook VS Code Extension streamlines the onboarding process for iFacto developers by automating the installation and configuration of:
- Model Context Protocol (MCP) servers from the iFacto Playbook
- GitHub Copilot instructions from the BCCopilotGuidance project
- Development environment validation and health checks
- Authentication setup for Azure DevOps and internal systems
Features
🚀 One-Click Environment Setup
- Complete development environment configuration with a single command
- Automated installation of all required MCP servers
- GitHub Copilot instruction provisioning
- Environment validation and troubleshooting
🔧 Modular Setup Options
- Install MCP Servers: Install Model Context Protocol servers individually
- Setup Copilot Instructions: Configure GitHub Copilot with BC development guidance
- Validate Environment: Check current setup and identify issues
- Setup Wizard: Guided setup experience with step-by-step instructions
📊 Setup Status Monitoring
- Real-time status view showing configuration progress
- Health checks for prerequisites, authentication, and installed components
- Troubleshooting guidance and repair options
🔐 Multiple Authentication Methods
- Azure CLI integration (recommended)
- VS Code Azure Account extension support
- Personal Access Token fallback
- Automatic credential validation
Usage
Quick Start
- Open Command Palette (Ctrl+Shift+P)
- Run "iFacto: Show Setup Wizard"
- Follow the guided setup process
BCCopilotGuidance Quick Start
For Business Central projects, set up GitHub Copilot guidance:
- Open your AL project in VS Code
- Open Command Palette (Ctrl+Shift+P)
- Run "iFacto: BCCopilotGuidance: Setup"
- Select your workspace folder (if multiple)
- Files downloaded to
.github/BCCopilotGuidance/
- Repository instructions created at
.github/copilot-instructions.md
- Ready! GitHub Copilot now has access to BC development guidance
Validation: The extension automatically validates your setup when opening AL files and provides actionable feedback.
Available Commands
Command |
Description |
iFacto: Setup iFacto Development Environment |
Complete environment setup |
iFacto: Install MCP Servers |
Install Model Context Protocol servers |
iFacto: Remove iFacto Playbook MCP Servers |
Remove all iFacto Playbook MCP servers |
iFacto: Setup Copilot Instructions |
Configure GitHub Copilot guidance |
iFacto: Validate Environment |
Check current setup status |
iFacto: Show Setup Wizard |
Open guided setup experience |
iFacto: Install Azure CLI |
Install Azure CLI for authentication |
iFacto: Azure Login |
Authenticate with Azure services |
iFacto: BCCopilotGuidance: Setup |
Complete BCCopilotGuidance setup (files + repo instructions) |
iFacto: BCCopilotGuidance: Update |
Update BCCopilotGuidance files and refresh repo instructions |
iFacto: BCCopilotGuidance: Validate |
Validate BCCopilotGuidance installation |
BCCopilotGuidance Commands
The extension includes streamlined commands for managing Business Central Copilot guidance:
Command |
Description |
iFacto: BCCopilotGuidance: Setup |
Complete setup: downloads files and creates repository instructions |
iFacto: BCCopilotGuidance: Update |
Updates existing files and refreshes repository instructions |
iFacto: BCCopilotGuidance: Validate |
Validate BC Copilot guidance installation |
Simplified BCCopilotGuidance Workflow
Step 1: Setup - Use BCCopilotGuidance: Setup
command for initial installation:
- New installation: Downloads BC Copilot guidance files to
.github/BCCopilotGuidance
- Creates repository instructions: Automatically generates
.github/copilot-instructions.md
if it doesn't exist
- Existing installation: Offers choice to keep existing files or update to latest version
- Preserves customizations: Never overwrites existing
.github/copilot-instructions.md
- Automatic .gitignore: Adds entries to prevent committing copied files
Step 2: Update - Use BCCopilotGuidance: Update
command for refreshing:
- Updates files: Downloads latest version of BCCopilotGuidance files
- Refreshes instructions: Always regenerates
.github/copilot-instructions.md
with current file links
- Validates prerequisites: Ensures existing installation before updating
- Confirmation required: Asks for user confirmation before making changes
Step 3: Validate - Use BCCopilotGuidance: Validate
command for verification:
- AL project detection: Automatically detects Business Central projects
- Installation validation: Checks for required files and proper structure
- Quick fixes: Provides actionable suggestions with direct command links
- Automatic validation: Runs automatically when AL files are opened
Key Implementation Features:
- 🚫 Excludes dot folders: Automatically skips
.git
, .github
, and .vscode
folders during copy
- 📝 Intelligent instruction management: Creates repo instructions only when needed, preserves existing customizations
- 🧹 Clean gitignore management: Automatically adds/removes
.github/BCCopilotGuidance/
entries
- ⚡ One-command setup: Complete setup from download to repository configuration
- 🔍 Smart validation: Provides actionable feedback with direct command integration
- 🔄 Safe updates: Always confirms before overwriting, preserves manual customizations
Setup Status View
The extension adds a "iFacto Setup Status" view to the Explorer panel showing:
- ✅ Prerequisites validation
- 🔐 Authentication status
- 🤖 MCP servers installation
- 📝 Copilot instructions setup
Click any item to run the associated setup command.
Configuration
Extension Settings
Setting |
Description |
Default |
ifacto-playbook.autoInstallMcp |
Automatically install recommended MCP servers |
true |
ifacto-playbook.autoSetupCopilot |
Automatically setup copilot instructions |
true |
ifacto-playbook.checkForUpdates |
Check for updates to MCP servers and guidance |
true |
ifacto-playbook.logLevel |
Logging level for diagnostic information |
"info" |
Authentication Configuration
The extension supports multiple authentication methods:
Azure CLI (Recommended)
az login
VS Code Azure Account Extension
- Install the Azure Account extension
- Sign in through the Azure Account panel
Personal Access Token
MCP Servers Installed
The extension automatically installs these MCP servers based on mcps-to-install.md:
- Azure DevOps MCP Server (
azure-devops-mcp-server-ifactoapps
): Azure DevOps integration
- AL Dependency MCP Server (
al-mcp-server
): AL project dependency analysis
- Jira MCP Server (
mcp-server-atlassian-jira
): Atlassian Jira integration (interactive API token setup)
- Confluence MCP Server (
mcp-server-atlassian-confluence
): Atlassian Confluence integration (interactive API token setup)
- Mantis IssueTracker MCP Server (
mantis-mcp-server
): iFacto's issue tracking system (interactive API token setup)
- Microsoft Learn MCP Server: Official Microsoft documentation
Note: For Jira, Confluence, and Mantis MCP servers, the extension will guide you through generating and entering your API token with a user-friendly workflow ("Open Link" and "Continue" dialogs), making setup seamless and secure.
BCCopilotGuidance Integration
The extension provides seamless integration with the BCCopilotGuidance project, enabling automatic distribution of comprehensive GitHub Copilot instructions specifically designed for Business Central development.
What BCCopilotGuidance Provides
🎯 Specialized AI Guidance:
- Expert AI Personas: Access to specialized BC development experts (Alex Architect, Casey Copilot, Dean Debug, Jordan Bridge)
- Development Workflows: Structured approaches for BC project lifecycle management
- Code Quality Standards: Enforced best practices for AL development
- Business Context Integration: Ensures code includes proper business reasoning and error handling
📚 Comprehensive Documentation:
- Core Development Patterns: Essential BC development practices and architectures
- Modern AL Patterns: Advanced techniques and contemporary approaches
- Testing & Validation: Quality assurance strategies and validation workflows
- Performance Optimization: System tuning and efficiency guidelines
- Integration & Deployment: Deployment strategies and system integration patterns
🔒 Mandatory Compliance Framework:
- Template Project Protection: Prevents premature coding on minimal projects
- English-Only Identifiers: Enforces naming conventions for international teams
- Quality Gates: Ensures every AI response meets BC development standards
- Business Context Requirements: Mandates business reasoning in all technical suggestions
Automatic AL Project Detection
The extension automatically detects AL (Application Language) projects by looking for:
app.json
files in workspace folders
.al
source files
When an AL project is detected, the extension validates the BCCopilotGuidance setup and provides actionable feedback.
BCCopilotGuidance Implementation Workflow
- Setup: Use
BCCopilotGuidance: Setup
to download guidance files and create repository instructions
- Update: Use
BCCopilotGuidance: Update
to refresh files and regenerate repository instructions
- Validate: Use
BCCopilotGuidance: Validate
to verify installation and get actionable feedback
File Structure Created
When BCCopilotGuidance files are downloaded, they create this structure:
.github/
├── BCCopilotGuidance/ # Downloaded guidance files (excluded from git)
│ ├── copilot-instructions.md # Main copilot instructions
│ ├── README.md # BCCopilotGuidance overview
│ ├── bc-specialists/ # AI specialist personas
│ ├── core-development/ # BC development patterns
│ ├── copilot-techniques/ # AI-specific guidance
│ └── ... # Additional guidance folders
└── copilot-instructions.md # Repository instructions (committed to git)
Repository Instructions Generation
The Setup and Update commands automatically create a comprehensive .github/copilot-instructions.md
file that:
🚨 Enforces Mandatory Compliance:
- Uses
applyTo: '**'
frontmatter to apply to all files
- Establishes non-negotiable enforcement points for AI agents
- Requires full compliance with BCCopilotGuidance standards
- Includes quality gates and validation checklists
📚 Provides Complete Documentation Access:
- References all downloaded BCCopilotGuidance documentation by category
- Links to specialist AI personas with direct file paths
- Organizes guidance into logical sections (Core Development, Specialists, etc.)
- Maintains current file structure with automatic link updates
🔒 Ensures Development Standards:
- Template project protection workflows
- English-only identifier enforcement
- Business context and error handling requirements
- Escalation paths for non-compliance
This ensures that GitHub Copilot has access to all relevant Business Central development guidance and operates under strict compliance requirements when working in your repository.
Architecture
Extension Structure
src/
├── commands/ # Command implementations
│ ├── setupEnvironment.ts
│ ├── installMcpServers.ts
│ ├── removeAllMcps.ts
│ ├── setupCopilotInstructions.ts
│ ├── validateEnvironment.ts
│ ├── showSetupWizard.ts
│ ├── installAzureCli.ts
│ ├── testAzureDevOpsMcp.ts
│ ├── setupBCCopilotGuidance.ts # Combined BC guidance setup and update
│ └── validateBCCopilotGuidance.ts # BC guidance validation
├── services/ # Core business logic
│ ├── mcpService.ts # MCP installation and management
│ ├── authService.ts # Authentication handling
│ └── gitService.ts # Git/repository operations
├── ui/ # User interface components
│ └── setupStatusView.ts # Setup status tree view
├── utils/ # Shared utilities
│ ├── logger.ts # Logging utilities
│ ├── fileUtils.ts # File system operations
│ └── alProjectValidator.ts # AL project detection and BC guidance validation
└── extension.ts # Main extension entry point
Key Dependencies
- vscode: VS Code Extension API
- axios: HTTP client for API calls
- simple-git: Git operations
- fs-extra: Enhanced file system operations
License
Internal use only - iFacto Academy
- BCCopilotGuidance - GitHub Copilot instructions for BC development
- iFacto Playbook - Development environment documentation
- BCCopilotGuidanceMCPServer - BC guidance MCP server implementation
Built with ❤️ by the DevLead team to make developer onboarding effortless!