Real-time validation and ontology browser for Kanonak Protocol packages.
Features
Workspace-scoped diagnostics — every .kan.yml is validated against the rest of the workspace using the same 19 rules the CLI uses, with cross-document checks (unresolved references, import cycles, ambiguous types) surfacing in the Problems panel as you type.
Ontology view — a dedicated activity-bar container with a class hierarchy, properties anchored at the class where their rdfs:domain is declared, switchable between by-publisher and by-hierarchy organization.
Versions view — when the workspace contains multiple versions of the same package, switch which version the Ontology view should reflect; defaults to the version pinned in kanonak.lock, falling back to the highest semver present.
Status
This is the initial scaffold (v0.1.0). Diagnostics and the activity-bar container are wired up; the Ontology and Versions views are placeholder shells while the tree-data providers are being built out.
Settings
kanonak.ontology.organization — "by-publisher" (default) or "by-hierarchy".
kanonak.ontology.includeReasonerSaturation — when true, the class hierarchy includes transitive ancestors via OWL RL reasoning. Default false.
kanonak.diagnostics.debounceMs — how long to wait after a change before re-validating. Default 300.
Commands
Kanonak: Toggle Ontology Organization — flip between by-publisher and by-hierarchy.
Kanonak: Switch Active Version... — when a package has multiple versions in the workspace, pick which one to view.
Kanonak: Refresh Workspace Validation — force an immediate revalidation.
Development
npm install
npm run build # bundle to dist/extension.cjs
npm run package # produce a .vsix in dist/
The extension is built on top of @kanonak-protocol/sdk (bundled into the .vsix at build time — the marketplace package is fully self-contained). See the Kanonak Protocol organization for related projects.