Skip to content

OntoCore plugin model

Status: Design target for v0.14 (plugin host MVP) and v1.0 (stable API). Not shipped in v0.13.

The plugin system allows users and organizations to extend OntoCore and OntoCode without modifying the core project. Plugins integrate with OntoCore; they are not part of OntoCore.

Full specification: PLUGIN_SPEC.md.

Architecture

OntoCode (IDE)
     │
     ▼
OntoCore (workspace engine + plugin host)
     ├── Ontologos (reasoning — core integration, not a plugin)
     └── External plugins (owlmake, validators, exporters, …)

owlmake is the reference external workflow plugin — ROBOT/ODK-style build, QC, and release automation without becoming a core dependency.

Plugin categories (planned)

Category Purpose Examples
Build Compile, merge, materialize Generate import modules, build release .owl
Release Version and publish artifacts OBO Foundry release bundles
Workflow Multi-step pipelines ODK release via owlmake (reference)
Validation / QC Quality checks SHACL, naming rules, OBO compliance
Documentation Human-readable output Markdown/HTML ontology docs
AI / MCP Agent integration MCP server, review assistants
Validator Custom diagnostics Required labels, deprecated imports
Exporter Output formats CSV, JSON catalogs
Reasoner Native reasoner integration Custom Rust/WASM reasoners (ADR-0014)
Query function SQL extensions descendants(iri), ontology_depth(iri)
UI VS Code views Custom inspectors (OntoCode layer)

Built-in reasoner adapters (el, rl, rdfs, dl, auto) ship in ontocore-reasoner as thin wrappers over OntoLogos.

OntoCore vs OntoCode plugins

Layer Plugin scope
OntoCore Build, release, workflow, validators, exporters, reasoners, query functions — run in CLI/LSP/Rust library
OntoCode UI plugins — VS Code views, webview panels, workflow action surfaces

Reference interfaces (sketch)

See PLUGIN_SPEC.md for BuildPlugin, WorkflowPlugin, ValidatorPlugin, and ExporterPlugin trait sketches.

Manifest (sketch)

[plugin]
id = "org.incato.owlmake"
name = "owlmake"
version = "0.1.0"
api_version = "1"
kind = "workflow"
entry = "libowlmake_plugin.so"

Timeline

  • v0.14: Plugin host MVP — manifest discovery, reference validator/exporter plugins, OntoUI inspector cards
  • v1.0: Stable plugin API + reference plugins; OntoCode surfaces workflow actions in IDE

See Platform roadmap and OBO & ROBOT interop.