Instance inheritance for JavaScript & TypeScript — and the toolchain that makes it visible.
mnemonica is an instance-inheritance system: you declare types with
define(), and construct subtypes from parent instances —
new instance.SubType(args). The prototype chain back to the root is
the identity of every object. On top of that runtime sits a full toolchain: static analysis
that gives runtime types real TypeScript types, a VS Code extension that draws the whole
graph in 3D, and tracing that follows a running application through its instances — all the
way into Jaeger.
A real NestJS application drawn by Mnemonica Graphica: spheres are types (color = inheritance generation), diamonds are the scopes that construct them, rings are dive wrap sites, and the fibers between them are invocation and construction edges. Every element is draggable, clickable, and jumps back into source.
mnemonica in the Marketplace, or grab the repo.git clone https://github.com/mythographica/tactica-nestjs
code tactica-nestjs
Ψ icon in the activity bar — Types, Usages, Flow, By Generation, Diamonds and Bagels are already populated (.tactica/ is committed, so this works from a fresh clone).Mnemonica: Ψ 3D — the scene from the screenshot, live. Drag spheres, diamonds and rings; Save keeps your arrangement.npm install && npm run start:dev in the demo, then Mnemonica: Ψ App Channel → Discover & Connect — Live Trace lights up, and npm run jaegger:pre-configured brings up Jaeger with links that jump back into VS Code.The runtime: define(), lookup(), decorate(), hooks, async constructors, error lineage.
npm: mnemonica
Static analysis that turns runtime definitions into TypeScript: emits .tactica/ types, registry augmentation, usage and creation graphs. No casts, ever.
npm: @mnemonica/tactica
The VS Code extension: type trees, usages, flow, generations — and the interactive 3D graph with Live Trace of a running app.
Code: Mnemographica
Async context without AsyncLocalStorage: the instance is the context. Wrap callbacks, trace lineages, enrich errors.
npm: @mnemonica/dive
Framework-agnostic lifecycle instrumentation: mnemonica hooks → OpenTelemetry spans.
npm: @mnemonica/otel
The full NestJS wiring: exception filters, interceptors, ALS bridge, the embedded trace channel.
npm: @mnemonica/nestjs
MCP-shaped server and WS channels: live-craft (define and swap constructors without a restart), trace streaming.
npm: @mnemonica/strategy
The demo app from the screenshot — a small NestJS project wired with the whole ecosystem, .tactica/ committed.
clone & explore
Pack of file-based CMS: Express / Fastify / NestJS vs @mnemonica/otel versions twins vs @mnemoniva/dive rig for observability comparison. Plus switchable BFF with a live admin panel, and a Jaeger.