Connector Schema Advisor (VS Code Extension)
Provides intelligent diagnostics and quick fixes for JSON Schema best practices based on Microsoft Graph connector requirements.
🚀 Quick Start
npm install
- Press
F5 (Launches Extension Development Host)
- Open a JSON schema file (e.g.,
schema.json) and see diagnostics in the Problems panel.
✨ Features
Phase 1: Static Rules (M0 - Available Now)
- ✅ Semantic Label Validation: Ensures properties have appropriate semantic labels
- ✅ Required Properties: Checks for essential properties like
lastModifiedBy, lastModifiedAt
- ✅ Property Descriptions: Validates that properties include helpful descriptions
- ✅ Quick Fixes: One-click fixes to add missing properties and labels
Phase 2: LLM-Powered Suggestions (M1 - Roadmap)
- 🔄 Smart Property Suggestions: AI-powered recommendations based on content analysis
- 🔄 Content Domain Classification: Automatic categorization of schemas
- 🔄 Advanced Optimization: Performance and usability improvements
🎯 Rule Sets
Choose your validation level:
minimal: Basic recommendations (info level)
recommended: Balanced approach for most users (warning level)
strict: Comprehensive validation for production (error level)
⚙️ Configuration
Add to your workspace .vscode/settings.json:
{
"jsonSchemaAdvisor.enabled": true,
"jsonSchemaAdvisor.ruleSet": "recommended",
"jsonSchemaAdvisor.disabledRules": [],
"jsonSchemaAdvisor.customRulesPath": ".vscode/custom-schema-rules.json"
}
🧪 Testing Your Schema
Use the provided test schemas in the test-schemas/ directory to see the extension in action:
test-schemas/test-schema-clean.json - Simple test with basic violations
test-schemas/test-schema-good.json - Best practices example
test-schemas/test-schema-partial.json - Partially compliant schema
test-schemas/test-schema-custom.json - Complex test with multiple issues
🎯 Supported Types
The extension supports all Microsoft Graph connector property types:
string, int64, double, dateTime, boolean
stringCollection, int64Collection, doubleCollection, dateTimeCollection
principal, principalCollection, unknownFutureValue
The extension will suggest:
- Adding semantic labels to properties
- Including required metadata properties
- Adding property descriptions
| |