Framework Matrix

August 3, 2026 · View on GitHub

Ontoly ships deterministic framework analyzers across three languages. Every analyzer emits typed facts into the Software Graph — routes, controllers, models, layers, edges, provenance — so downstream tools query framework semantics without re-parsing configuration or source.

Framework coverage is measured through Validation Lab, not inferred from package names alone.

Languages

LanguageFrontend packageStatusFile extensions
JavaScript@0xsarwagya/ontoly-semanticSupported.js, .jsx, .mjs, .cjs
TypeScript@0xsarwagya/ontoly-semanticSupported.ts, .tsx, .mts, .cts
Python@0xsarwagya/ontoly-semantic-pythonSupported.py
Go@0xsarwagya/ontoly-semantic-goSupported.go

JavaScript / TypeScript analyzers

Shipped in @0xsarwagya/ontoly-semantic and registered by createDefaultFrameworkRegistry().

AnalyzerPackageFactsStatus
NestJS@nestjs/common, @nestjs/coreControllers, providers, modules, guards, interceptors, decorators, routesSupported
Angular@angular/coreComponents, services, modules, directives, routesSupported
ExpressexpressRoutes, middleware, route handlersSupported
FastifyfastifyRoutes, plugins, handlersSupported
HonohonoRoutes, middlewareSupported
Koa@koa/routerRoutes, middlewareSupported
ElysiaelysiaRoutes, handlersSupported
Next.jsnextPages, API routes, layouts, middlewareSupported
Remix@remix-run/*Routes, loaders, actionsSupported
SvelteKit@sveltejs/kitRoutes, load functions, actionsSupported
AstroastroRoutes, endpointsSupported
NuxtnuxtPages, API routesSupported
ReactreactComponents, hooksSupported
VuevueComponents, composablesSupported
tRPC@trpc/*Routers, procedures, input/output shapesSupported
Prisma@prisma/clientModels, relations, enumsSupported
Drizzledrizzle-ormSchema, tables, columns, relationsSupported

Python analyzers

Shipped in @0xsarwagya/ontoly-semantic-python and registered by createDefaultPythonFrameworkRegistry().

AnalyzerPackageFactsStatus
DjangodjangoModels, views, URL patterns, admin, migrationsSupported
FastAPIfastapiRoutes, dependencies, request models, response modelsSupported
PyTorchtorchModules, forward passes, torch.jit.export, torch.inference_mode boundariesSupported
TensorFlowtensorflowLayers, models, training loopsSupported
Hugging FacetransformersModels, tokenizers, pipelines, trainersSupported
scikit-learnsklearnEstimators, transformers, pipelinesSupported

Go analyzers

Shipped in @0xsarwagya/ontoly-semantic-go and registered by createDefaultGoFrameworkRegistry().

AnalyzerPackageFactsStatus
Gingithub.com/gin-gonic/ginRoutes, groups, middleware, handlersSupported
Echogithub.com/labstack/echo/v4Routes, groups, middleware, handlersSupported
Fibergithub.com/gofiber/fiber/v2Routes, groups, middleware, handlersSupported
Chigithub.com/go-chi/chi/v5Routes, mounts, middleware, handlersSupported
gRPCgoogle.golang.org/grpcServices, methods, streams, interceptorsSupported
GORMgorm.io/gormModels, associations, migrations, hooksSupported

Cross-cutting

SurfaceStatusNotes
Turborepo workspacesValidatedMulti-workspace graph roll-up
pnpm workspacesValidatedWorkspace resolution + package boundaries
OpenAPIExperimentalSchema-driven graph facts via @0xsarwagya/ontoly-parser-openapi
GraphQLRoadmapSchema-driven graph facts, not shipped in v1.3.0
SQLRoadmapNot shipped

Registry behavior

Analyzers deduplicate by name and run in registration order. The default registries return the lists above; register a custom analyzer with createFrameworkRegistry([...]), createPythonFrameworkRegistry([...]), or createGoFrameworkRegistry([...]). See Framework Analyzer API for the analyzer contract.