Compass

🧭 Navigate your Azure DevOps projects with precision
Compass is a comprehensive VS Code extension that brings Azure DevOps work item management, sprint planning, and scrum dashboard directly into your development environment. Like a navigator's compass, it helps you find direction in complex projects and keeps your team on course.
🚀 Features
Work Item Management
- ✅ Complete CRUD Operations: Create, read, update, and delete work items
- ✅ Multi-Project Support: Switch between Azure DevOps projects seamlessly
- ✅ Hierarchical View: Parent-child relationships with expandable tree structure
- ✅ Sprint Filtering: Filter work items by sprint with "All Sprints" default
- ✅ Real-time Sync: Immediate updates with Azure DevOps backend
- ✅ Sprint Dashboard: Interactive dashboard with real sprint data
- ✅ Burndown Charts: Visual progress tracking with actual vs. ideal burndown
- ✅ Team Velocity: Historical velocity tracking and trend analysis
- ✅ Mixed Effort Support: Handles story points, hours, and count-based metrics
- ✅ Work Item Matrix: Type vs. State analysis with effort totals
Test Management
- ✅ Test Plans: Create and manage test plans
- ✅ Test Cases: Create test cases with detailed steps
- ✅ Test Execution: Execute tests and record results
- ✅ Batch Operations: Bulk creation of test cases and plans
Developer Experience
- ✅ VS Code Integration: Native tree view in Activity Bar
- ✅ Command Palette: Full command integration (Ctrl+Shift+P)
- ✅ Context Menus: Right-click actions on all items
- ✅ Status Bar: Connection status and active project display
- ✅ Settings Integration: Configuration through VS Code settings
Advanced Features
- ✅ MCP Server: Model Context Protocol server for AI integration
- ✅ Batch Operations: Bulk creation of work items, test cases, and plans
- ✅ Effort Conversion: Configurable ratios between story points and hours
- ✅ Process Template Support: Works with Basic, Agile, Scrum, and CMMI templates
📦 Installation
From VS Code Marketplace
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "Compass"
- Click Install
From VSIX Package
- Download the latest
.vsix file from releases
- In VS Code:
Extensions → ... → Install from VSIX...
- Select the VSIX file and install
🚀 Quick Start
1. Connect to Azure DevOps
Ctrl+Shift+P → "Compass: Connect to Organization"
- Enter your Azure DevOps organization URL
- Provide your Personal Access Token (PAT)
- Select your project
2. View Work Items
- Open the Compass panel in the Activity Bar
- Browse work items by project and sprint
- Use the sprint filter to focus on specific iterations
3. Create Work Items
Ctrl+Shift+P → "Azure DevOps: Create User Story"
Ctrl+Shift+P → "Azure DevOps: Create Task"
4. Open Scrum Dashboard
Ctrl+Shift+P → "Azure DevOps: Show Scrum Dashboard"
⚙️ Configuration
Configure the extension through VS Code settings:
{
"azureDevOps.organizationUrl": "https://dev.azure.com/yourorg",
"azureDevOps.projectName": "YourProject",
"azureDevOps.personalAccessToken": "your-pat-token",
"azureDevOps.effortConversion.storyPointsToHours": 8,
"azureDevOps.effortConversion.preferredUnit": "auto"
}
🎯 Usage Examples
Sprint Planning
- Use the sprint filter to view work items by iteration
- Open the scrum dashboard to see sprint progress
- Create new work items and assign to sprints
Test Management
- Create test plans for your features
- Add test cases with detailed steps
- Execute tests and record results
Team Collaboration
- View work item assignments by team member
- Track team velocity across sprints
- Monitor burndown progress in real-time
- Compile:
npm run compile
- Package:
npx vsce package
- Install the generated VSIX file
Configuration
Configure via VS Code Settings (Ctrl+, → search "Azure DevOps"):
- Organization URL:
https://dev.azure.com/yourorg or https://yourorg.visualstudio.com
- Project Name: Your Azure DevOps project name
- Personal Access Token: PAT with "Work Items (Read & Write)" permissions
Creating a Personal Access Token
- Go to Azure DevOps → User Settings → Personal Access Tokens
- Create new token with "Work Items (Read & Write)" scope
- Copy the token and paste it in VS Code settings
Usage
Getting Started
- Configure your Azure DevOps settings (see Configuration above)
- Open Command Palette (
Ctrl+Shift+P)
- Run
Azure DevOps: Connect to Organization
- View work items in the Azure DevOps Activity Bar panel
Available Commands
Access via Command Palette (Ctrl+Shift+P → "Azure DevOps:"):
- Connect to Organization - Establish connection to Azure DevOps
- Disconnect - Disconnect from Azure DevOps
- Create User Story - Create new user story with story points
- Create Task - Create task (independent or linked to story)
- Select Active Task - Choose a task to work on
- Show My Tasks - View tasks assigned to you
- Search Work Items - Search across all work items
- Sync Work Items - Manual refresh from Azure DevOps
- Configure Personal Access Token - Set up authentication
- Test: Create Sample Story - Create a test story for verification
Tree View Operations
In the Azure DevOps Activity Bar panel:
- Single-click: View work item details
- Right-click: Context menu with actions:
- Start Task (changes state to "In Progress")
- Edit Task (modify title and other fields)
- View Details (full information dialog)
Task Creation Workflow
- Run
Azure DevOps: Create Task
- Enter task title and description
- Choose: "Create independent task" or "Link to existing user story"
- If linking: Select parent story from dropdown
- Task is created and appears in tree view
Architecture
Core Components
- AuthenticationService: Handles PAT authentication and token management
- AzureDevOpsApiClient: REST API client with rate limiting and error handling
- AzureDevOpsExplorerProvider: Tree view data provider for work items
- ConnectionProvider: Tree view for connection status
- CommandManager: Handles all VS Code commands
- StatusBarManager: Status bar integration
Data Flow
- User configures settings or uses command palette
- AuthenticationService validates credentials
- AzureDevOpsApiClient makes REST API calls
- Tree view providers update UI
- User receives feedback via notifications
Testing
Run the comprehensive test suite:
npm test
Test Coverage
- 13 Property-based tests with 100+ iterations each
- Authentication flow testing
- API client testing with mock responses
- Work item CRUD operations
- Error handling scenarios
Development
Setup
npm install
npm run compile
Available Scripts
npm run compile - Compile TypeScript
npm run watch - Watch mode compilation
npm test - Run all tests
npm run lint - Run ESLint
npx vsce package - Create VSIX package
Project Structure
extension/
├── src/
│ ├── extension.ts # Main extension entry point
│ ├── services/ # Core services
│ │ ├── AuthenticationService.ts
│ │ └── AzureDevOpsApiClient.ts
│ ├── ui/ # UI components
│ │ ├── providers/ # Tree view providers
│ │ └── managers/ # Command and status managers
│ ├── interfaces/ # TypeScript interfaces
│ └── types/ # Type definitions
├── tests/ # Test files
├── dist/ # Compiled JavaScript
└── package.json # Extension manifest
Troubleshooting
Common Issues
"Command not found" errors
- Ensure extension is properly installed and activated
- Check VS Code Developer Console for activation errors
Authentication failures
- Verify PAT token has correct permissions
- Check organization URL format
- Ensure project name is correct
"No data provider registered" errors
- Restart VS Code after installation
- Check that extension activated successfully
API rate limiting
- Extension includes automatic rate limiting
- Wait for rate limit reset if you see delays
Debug Mode
- Open VS Code Developer Tools (
Help → Toggle Developer Tools)
- Check Console tab for detailed error messages
- Look for Azure DevOps extension logs
Getting Help
- Check this README and configuration
- Review error messages in VS Code notifications
- Use
Azure DevOps: Run Diagnostics command for system status
- Create an issue in the GitHub repository
License
MIT License - see LICENSE file for details.