
Tonto is a textual modeling language for creating well-founded ontologies based on the Unified Foundational Ontology (UFO) and OntoUML. It gives ontology projects a code-like workflow: source files, packages, imports, validation, generated artifacts, dependency management, and version control.
Use Tonto when you want ontology models that are readable as text, reviewable in Git, and supported by development tools such as VS Code, a CLI, diagram views, and package management.
Model in text
Write .tonto files with OntoUML stereotypes, relations, datatypes, labels, and descriptions.
Validate continuously
Catch syntax and semantic issues with the language server, validators, and CLI checks.
Generate artifacts
Generate OntoUML JSON, gUFO Turtle, and PlantUML sources from the same project.
Reuse ontology packages
Manage shared ontology projects through tonto.json manifests and TPM dependencies.

Project parts
The repository contains several packages that work together:
| Package | Purpose |
|---|---|
tonto-cli | Language grammar, language server services, validators, transformations, and command-line workflows. |
tonto VS Code extension | Editor integration published as Lenke.tonto, including commands, syntax support, views, and webviews. |
tpm | Tonto Package Manager for Git-based ontology dependencies. |
tonto-sprotty-webview | Diagram and webview implementation used by the VS Code extension. |
sprotty-vscode packages | Sprotty integration packages used by the extension. |
Where to start
Start with the quickstart if you want to install the tools and create a model. If you already know OntoUML and only need syntax, go to packages and imports. If you are maintaining the repository, read package architecture.
Legacy references
The previous Docusaurus documentation and PDFs are still useful historical references:
This package is the updated documentation source for current Tonto projects.