A full programming language for prototypes, rules, and executable ontologies
Buffaly is a neurosymbolic platform for building large, explainable knowledge graphs and running language-aware inference over them. It is powered by Ontology (a prototype graph runtime) and ProtoScript (an executable language for defining prototypes, rules, and functions).
This repository contains ProtoScript (parser/compiler/interpreter), the workbench API + editor, graph induction code, and ProtoScript tests.
This repository is part of the open-source split of our platform. It does not include several commercial components (partner-only datasets, agentic tooling, and medical extensions).
| Feature | Why it matters |
|---|---|
| 🧾 Executable ontology definitions | Define prototypes, fields, and functions in one concise file format. |
| ⚙️ Compiler + interpreter | Parse, compile, and evaluate ProtoScript in-process. |
| 🧰 CLI tooling | Validate parse/compile/runtime behavior from automation. |
| 🧪 Unit + integration tests | ProtoScript tests live with ProtoScript (ProtoScript.Tests*). |
| 🧑💻 Workbench | Standalone editor web app + API endpoints for compile/interpret/debug/symbol lookup. |
- Language/runtime:
ProtoScript,ProtoScript.Parsers,ProtoScript.Interpretter - Tooling:
ProtoScript.CLI,ProtoScript.CLI.Validation - Workbench:
ProtoScript.Workbench.Api,ProtoScript.Workbench.Web - Tests:
ProtoScript.Tests,ProtoScript.Tests.Integration - Induction:
Ontology.GraphInduction(present in repo; not currently included inProtoScript.sln)
ProtoScript.sln
Current solution membership:
ProtoScriptProtoScript.ParsersProtoScript.InterpretterProtoScript.CLIProtoScript.CLI.ValidationProtoScript.Workbench.ApiProtoScript.Workbench.WebProtoScript.TestsProtoScript.Tests.Integration
The reference manual is split into focused sections under docs/ProtoScript/.
- Index: docs/ProtoScript/README.md
- Introduction: docs/ProtoScript/introduction.md
- Ontology context: docs/ProtoScript/ontology-context.md
- What are prototypes?: docs/ProtoScript/what-are-prototypes.md
- Syntax and features: docs/ProtoScript/syntax-and-features.md
- Native value prototypes: docs/ProtoScript/native-value-prototypes.md
- Examples of prototype creation: docs/ProtoScript/examples-of-prototype-creation.md
- Simpsons example: docs/ProtoScript/simpsons-example.md
- Relationships: docs/ProtoScript/relationships.md
- Shadows and LGG: docs/ProtoScript/shadows-and-lgg.md
- Prototype paths: docs/ProtoScript/prototype-paths.md
- Subtypes: docs/ProtoScript/subtypes.md
- Transformation functions: docs/ProtoScript/transformation-functions.md
- Ternary expression support spec: docs/ProtoScript/ternary-expression-support-spec.md
The split repos are designed to sit as siblings on disk so Scripts\update_dlls.bat can copy DLLs between ..\ontology-core, ..\protoscript-core, and ..\buffaly-nlu.
If you clone into different folder names, update the paths inside Scripts\update_dlls.bat.
From repo root:
Scripts\update_dlls.bat
dotnet build ProtoScript.slnFrom repo root:
dotnet test ProtoScript.Tests\ProtoScript.Tests.csproj
dotnet test ProtoScript.Tests.Integration\ProtoScript.Tests.Integration.csproj --filter "TestCategory=Integration"Integration tests load sample project files from the Buffaly portal project directories in Buffaly.NLU.
- Shared binaries are resolved from local
lib\andDeploy\. Scripts\update_dlls.batrefreshes DLLs from sibling split repos.
- Ontology core: https://github.com/Intelligence-Factory-LLC/Ontology.Core
- ProtoScript core: https://github.com/Intelligence-Factory-LLC/ProtoScript.Core
- Buffaly NLU: https://github.com/Intelligence-Factory-LLC/Buffaly.NLU
ProtoScript.Core is released under the GNU General Public License v3.0.
See LICENSE.
We deploy explainable, neurosymbolic systems in regulated domains (healthcare and beyond). If you'd like guidance or custom development, email support@intelligencefactory.ai or visit https://intelligencefactory.ai.
© 2026 Intelligence Factory, LLC