Skip to main content
@craft-ts
LearnLearn with EffectAI agentsGuideReference
@craft-ts/core@craft-ts/component@craft-ts/dev-tools@craft-ts/effect@craft-ts/style@craft-ts/style-testing@craft-ts/i18n@craft-ts/i18n-effect@craft-ts/mcp
ExamplesMigrationEffect compatibility & maturityAdopting CraftTS progressivelyPress kitRoadmapBacklog
Beta
  • Learn
  • Learn with Effect
  • AI agents
  • Guide
  • Reference
  • Packages
  • Resources

i.Resources

  • Examples
  • Coding agents
  • Migration
  • Renames: _tag and providedIn
  • Effect compatibility & maturity
  • Adopting CraftTS progressively
  • Press kit
  • Roadmap
  • Backlog
  1. Resources
  2. Effect compatibility & maturity

Effect compatibility and maturity#

This page describes the current repository contract. It is a decision aid for teams evaluating CraftTS, not a promise that beta APIs will remain unchanged.

Compatibility matrix#

AreaCurrent contractStatus
Craft runtime@craft-ts/core 0.7.0-beta.11Beta
Craft components@craft-ts/component on the same Craft versionBeta
Effect bridge@craft-ts/effect 0.7.0-beta.11Beta / experimental integration
Effect runtimeeffect ^4.0.0-rc.112Effect 4 release candidate required by current Alchemy
Effect 3 projectsNo compatibility contractMigrate or isolate before adopting
Node.js20.19+ or 22.12+Required by the current docs
TypeScriptUse the version supported by the selected Craft beta; verify with the project lockfileToolchain-sensitive
Browser applicationVite demo and jsdom tests are coveredExperimental but executable
SSRNo product SSR renderer in this releaseNot ready
Server functionsLocal transport and middleware experimentProof of concept
Migration toolingcraft-migrate for Craft conceptsNo complete Effect-specific migration

Install all Craft packages from the same beta channel. @craft-ts/effect also declares effect as a peer dependency, so the Effect version is part of the application's compatibility surface.

Maturity by capability#

CapabilityWhat is covered todayAdoption guidance
Effect domain programsEffect, tagged errors, Context.Service, LayerGood candidate for a pilot
Effect-backed reads and writesqueryEffect, mutationEffect, asyncProcessEffectPilot with real tests and a narrow feature
Synchronous Effect members in a computationSyncOp, computedEffect, syncEffectDeclare the members that never suspend, then reuse them in craftComputed and params
Layer scopingapplication, route, component and primitive providersUse after the basic boundary is understood
Typed error mappingE becomes Craft exceptions; defects stay technical errorsSuitable for explicit UI error handling
Effect service mocksmockEffectService plus Craft registersSuitable for focused tests
Static Effect graphEffect services, operations and Layers are collectedUseful for architecture rules; still evolving
Server functionsexecuteEffect, middleware and local HTTP demoKeep behind an experimental boundary
SSR and deployment integrationNot shipped as a product contractDo not make it a prerequisite for adoption

How to read this table#

The safest first adoption is browser-side, one feature, with an existing Effect domain and an application Layer provided by Craft. Defer SSR-specific decisions and server functions until their contracts are stable.

See Adopting CraftTS progressively for a staged plan and the quickstart's verification section for the executable Effect demo checks.

←Renames: _tag and providedInAdopting CraftTS progressively→

On this page

  • Compatibility matrix
  • Maturity by capability
  • How to read this table

@craft-ts · MIT licensed

GitHubnpm

Search