A Visual Studio Code extension that provides integration with Apicurio Registry, allowing you to browse, view, and edit API specifications directly from your IDE.
- Registry Browser: Browse registry groups, artifacts, and versions in the VSCode sidebar
- Multiple Connections: Connect to multiple registry instances
- API Specification Editing: Edit OpenAPI and AsyncAPI specifications with syntax highlighting
- Content Synchronization: Sync changes between your local workspace and the registry
- Authentication Support: Support for various authentication methods (basic auth, OIDC)
This extension is compatible with Apicurio Registry 3.1.x and later.
Tested Versions:
- ✅ Apicurio Registry 3.1.1 (fully supported)
- ✅ Apicurio Registry 3.1.0 (fully supported)
Key Features by Version:
- v3.1+: Draft version support, content/metadata endpoint separation
- v3.0: Basic CRUD operations (limited draft support)
Note: Some features require v3.1 or later. The extension automatically detects registry version and adjusts behavior accordingly. See docs/API_COMPATIBILITY.md for detailed compatibility information.
- Clone this repository
- Install dependencies:
npm install - Build the extension:
npm run compile - Open in VSCode and press F5 to run in a new Extension Development Host window
Configure registry connections in VSCode settings:
{
"apicurioRegistry.connections": [
{
"name": "Local Registry",
"url": "http://localhost:8080",
"authType": "none"
},
{
"name": "Production Registry",
"url": "https://registry.example.com",
"authType": "oidc",
"credentials": {
"clientId": "registry-client"
}
}
]
}- Open the Command Palette (
Cmd+Shift+P/Ctrl+Shift+P) - Run "Apicurio Registry: Connect to Registry"
- Select a configured connection
- Browse registry content in the sidebar
- Click on versions to view content
- Edit API specifications with full IDE support
- Node.js 16+
- npm or yarn
- Visual Studio Code
- Docker (for running local registry)
Automated Setup (Recommended):
./test-setup.shThis script will set up everything you need including dependencies, registry, and sample data.
Manual Setup:
# 1. Install dependencies
npm install
# 2. Build the extension
npm run compile
# 3. Start local registry (in separate terminal)
docker run -it -p 8080:8080 apicurio/apicurio-registry:latest-snapshot
# 4. Open in VSCode and press F5
code .See QUICK_TEST.md for a 5-minute quick start guide.
See docs/TESTING_GUIDE.md for comprehensive testing instructions.
npm run compile- Compile TypeScriptnpm run watch- Watch mode for developmentnpm run test- Run testsnpm run lint- Run ESLint./test-setup.sh- Automated test environment setup
src/
├── extension.ts # Main extension entry point
├── providers/
│ └── registryTreeProvider.ts # Tree view data provider
├── services/
│ └── registryService.ts # Registry API client
└── models/
└── registryModels.ts # Data models and types
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Apicurio Registry - The main registry project
- Apicurio Studio - Web-based API design studio
For issues and questions: