TopGit
GitHub Repo Review

Cordis: Meta-Framework of Spatiotemporal Composability

cordiverse/cordis
CTopGit review image for cordiverse/cordis
Review by Topgit.dev for cordiverse/cordis, with GitHub repository stats and README context.
Quick verdict

Cordis encodes spatiotemporal composability into a plugin system on top of Effect. The idea is genuinely novel, but the API is unstable and the project is early. Worth exploring if you're deep in the Effect-TS ecosystem and want to experiment with temporal coordination patterns; skip it if you need production-stable tooling today.

Stars
โ˜… 7.3k
Forks
โ‘‚ 420
Contributors
๐Ÿ‘ฅ 5
Language
TypeScript
License
MIT
Topic
โ€”
Updated
Aug 2026

What is Cordis

Cordis is a TypeScript meta-framework layered atop the Effect library. Instead of prescribing features, it supplies compositional primitives for building plugins that handle both spatial concerns (where code executes) and temporal concerns (when it fires). The framework treats these as first-class, composable units in your architecture.

The composability problem

Most frameworks treat composition as purely structural. Modules connect, but runtime behavior and coordination stay tangled. Spatiotemporal composability gives developers explicit, composable abstractions for when and where effects execute across distributed systems โ€” not just what modules depend on, but where they run and when they fire.

Core features

  • โœ“Built on Effect-TS โ€” Cordis requires Effect as a dependency and re-exports its types and utilities
  • โœ“Spatiotemporal composition primitives โ€” explicit APIs for composing plugins across both time and space dimensions
  • โœ“Plugin-first design โ€” the framework's job is to host and compose your plugins, not to provide a fixed feature set
  • โœ“Temporal logic hooks โ€” lifecycle events and scheduling are composable, not side-effects bolted on
  • โœ“Distributed coordination model โ€” spatial concerns include where effects run, not just what they depend on
  • โœ“MIT license, TypeScript throughout
How this repository's GitHub stars have grown over time. Source: star-history.com.View the star history โ†—

Installing Cordis

npm install cordis

Building a plugin with Cordis

Import the core types and primitives from the package. Define a plugin by composing temporal and spatial units together, then register it with a Cordis host. The primer docs walk through a minimal plugin example from scratch. Since the API is unstable, pinning your dependency version and reviewing the changelog before each update is essential.

What to build with Cordis

  • โ€ขServerless function plugins requiring coordinated startup and teardown across multiple providers โ€” temporal composition handles the ordering problem without hand-rolling a state machine
  • โ€ขDistributed backend services where module lifecycle and cross-node messaging need to be expressed as a single composable unit โ€” spatial primitives let you scope effects to specific nodes or zones
  • โ€ขBackend services that need explicit control over when effects execute โ€” not just what runs, but when and where, expressed through composable temporal hooks
  • โ€ขPlugin systems that want to offer users composable building blocks instead of imperative configuration
  • โ€ขReplacing hand-rolled async orchestration with principled spatiotemporal primitives โ€” useful when your team is already comfortable with Effect-TS concepts

Strengths

  • โœ“Novel compositional model that makes time and space explicit in your plugin architecture
  • โœ“Built on Effect-TS โ€” if you already use Effect, Cordis slots in without learning a separate concurrency model
  • โœ“MIT license โ€” no restrictions on commercial or open-source use
  • โœ“Active development โ€” the team is shipping changes regularly

Known limitations

  • โ–ณAPI instability โ€” the README warns breaking changes can happen without notice, which is a real production risk
  • โ–ณEffect is a hard dependency, not optional โ€” you adopt both Cordis and the full Effect mental model at once
  • โ–ณDocumentation is thin โ€” only an academic paper and a primer exist; the gap between primer and real-world usage is large
  • โ–ณLearning curve is steep โ€” spatiotemporal composability is a new concept even for experienced developers
  • โ–ณNo production adopters or battle-tested examples cited in the README โ€” the gap between theory and practice is unproven
  • โ–ณFAQ or community troubleshooting resources are minimal

Alternatives to Cordis

Effect-TS โ€” if you want the functional Effect primitives without Cordis's spatiotemporal layer on topfp-ts โ€” a mature functional programming library for TypeScript with composition utilities, though without the Effect integration or plugin model@effect/schema โ€” for schema validation and transformation within the Effect ecosystem, useful as a stepping stone before adopting CordisZIO โ€” if you're working in Scala or JavaScript and want Effect-like semantics without TypeScript's ecosystem

Frequently asked questions

What license is Cordis released under?

Cordis uses the MIT license. You can use it freely in commercial and open-source projects.

Is the Cordis API production-ready?

No. According to the README, the API has not yet achieved stability and could be changed without notice. It should not be used in production systems at this time.

What is spatiotemporal composability?

It treats space and time as composable dimensions of your program. Instead of just composing what modules depend on, you compose where code runs and when it fires.

Is Cordis tied to the Effect library?

Yes. Cordis is built on top of Effect and re-exports its types and utilities. Effect is a required dependency, not optional.

How active is Cordis development?

The project is under active development, which is why the API carries no stability guarantees. Check the commit history on GitHub for the current pace.

What language is Cordis written in?

TypeScript throughout, with Effect-TS types and utilities re-exported since Cordis builds directly on top of the Effect library.

Who should try it โ€” and who should skip

Reach for Cordis if you're already comfortable with Effect-TS and you need a principled way to compose plugins across time and nodes. The spatiotemporal model genuinely solves coordination problems that are painful to hand-roll. Skip it if you need stable APIs, rich documentation, or production proof-points โ€” or if Effect itself is still new territory for your team.

Related repositories

Source & attribution

Repository cordiverse/cordis on GitHub. https://github.com/cordiverse/cordis

GitHub data ยท last synced Aug 17, 2026Reviewed by Henry
โ† Back to TopGit

Curious whether cordis is right for you?

Let ChatGPT, Claude, or Perplexity look into it โ€” click below and see what AI actually says about cordis.

GitHub