finds.dev← search

// the find

cordiverse/cordis

★ 9,113 · TypeScript · MIT · updated Oct 2026

Meta-Framework of Spatiotemporal Composability

Cordis is a TypeScript framework for building apps out of composable, hot-swappable plugins, built around a context/dependency-injection core with its own event system, service registry, and fiber-based plugin tree. It grew out of the Koishi bot framework's plugin core and is aimed at Node.js developers building long-running, modular services (bots, servers, CLIs) who want runtime plugin reloading and isolated sub-contexts, not a typical request/response web framework.

The monorepo splits cleanly into a minimal core (context, events, fiber, registry, service) plus opt-in packages (hmr, loader, include, logger-console, timer), so you pull in only what you need instead of one bundle. Hot module reload with dependency-tracked plugin trees and isolated contexts is hard to get right, and it's backed by fixture-driven tests (cordis-dep.yml, cordis-nested.yml, cordis-multi-entry.yml) rather than just asserted in the README. Core lifecycle edge cases — dispose, isolate, shadow contexts, reflection — each have dedicated spec files, which is exactly where DI/plugin libraries tend to rot silently. The design is also written up as an actual paper on arXiv, so the context/fiber abstractions have a formal argument behind them instead of just being naming choices.

The README states plainly that "the API is not yet stable and may change without notice" — a real risk for anything meant to sit underneath other packages, not just pre-1.0 boilerplate. Official docs are "still under construction" and the only link goes to a third-party-looking mirror rather than a canonical docs site, so understanding fiber.ts or reflect.ts semantics means reading source and tests directly. The vocabulary ("spatiotemporal composability", "fiber") is specific to this project and there's no example app or quick-start in the tree, so the conceptual on-ramp is steeper than the pitch suggests. There's also no visible changelog or migration notes in the repo structure, which matters a lot given how openly the project admits to breaking changes pre-stabilization.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →