tonto: a textual ontology modeling languagetonto is a textual ontology modeling language. It was designed to bring the way development feels today — textual, direct, tool-friendly, and iterative — to ontology-based conceptual modeling. Models are plain text and require no special tools to view, edit and publish, while dedicated tooling adds editor support, immediate feedback, modularity, refactoring, and seamless integration with version control. tonto brings the ontological distinctions of the Unified Foundational Ontology (UFO) (ISO/IEC DIS 21838-5) directly into the modeling language, guiding the development of well-founded ontology models. The project includes a VS Code extension for tonto and an accompanying command-line tool. Write a tonto and its tools were designed from the outset to support LLM-based agents. Language guidance and formal rules provide agents with the context and constraints needed to create, inspect, and modify ontology models while preserving their structural and semantic integrity. Humans and LLM agents benefit from many of the same properties: explicit textual representation, clear rules, fast feedback, and good tooling. The name is a backronym for textual ontologies. It also means “silly” or “dizzy” in Portuguese. The wordplay is intentional: serious ontologies, seriously fun. Start modeling in VS CodeInstall the tonto VSIX in VS Code 1.95 or later, then run Tonto: Get Started. The walkthrough can create your first ontology, open the language guide, show validation, and introduce the optional OWL gUFO-based export. The VSIX includes everything needed to edit models and use that export; it does not require a separate Node.js installation. A VS Code workspace can start as an ordinary folder with one
The For the complete vocabulary, run Tonto: Open Language Guide in VS Code or Model with feedbackThe extension provides:
The pattern catalog includes roles and their founding relators, phase partitions, parthood, constitution, causation, and multi-level modeling. Read a pattern when choosing a modeling shape: tonto checks a model as part of its workspace because relations in other files can establish whether a class is well formed. The optional Grow and share an ontologyStart with one file. When the ontology grows, Tonto: New Package... creates a package file and updates the ontology file; the Split into an ontology file and package refactoring on the If the
Export the ontologyIf you also need gUFO-aligned OWL/Turtle, add a namespace above the ontology header and run Tonto: Export to gUFO...:
The gUFO export checks the ontology and writes AgentsThe extension also exposes the language guide, validation, repairs, patterns, and export as tools to VS Code agents. Tonto: Set Up Codex and Claude in Workspace configures the bundled MCP server and project instructions for those agents. AcknowledgementsMatheus Lenke Coutinho and João Paulo A. Almeida are the original designers of tonto. This project reimplements the grammar, validation and other features of the legacy tonto project, which was mainly authored by Matheus Lenke Coutinho at the NEMO Ontology & Conceptual Modeling research group at the Federal University of Espírito Santo (UFES), Brazil. tonto's language design, concrete syntax, and OntoUML/UFO semantics are the work of the NEMO Ontology & Conceptual Modeling research group, in cooperation with the Semantics, Cybersecurity & Services (SCS) group throughout various research projects, which have received among others the support of CNPq, CAPES and FAPES over the years. Giancarlo Guizzardi, Tiago Prince Sales and Claudenir M. Fonseca should be acknowledged for their ongoing contributions, along with the contributors to OntoUML. LicenseMIT. The extension includes code from other open-source packages; their
licenses and notices are in |