Index
chekhov is a ZIO-first Playwright client and Scala.js browser test toolkit. Protocol YAML becomes a typed Scala AST; a Node driver speaks the channel; suites compose browser, context, and page as layers (plus optional Vite/static serve).
This is a multi-module toolkit: pick the artifacts you need (chekhov-core,
chekhov-driver, chekhov-zio-test, chekhov-dom, chekhov-ascent, chekhov-jsenv,
sbt-chekhov).
Suite stack (JVM)
libraryDependencies ++= Seq(
"rocks.earlyeffect" %% "chekhov-zio-test" % "0.0.1" % Test,
"rocks.earlyeffect" %% "chekhov-driver" % "0.0.1" % Test,
)Scala.js DOM + JSEnv
// project/plugins.sbt
addSbtPlugin("rocks.earlyeffect" % "sbt-chekhov" % "0.0.1")
// build.sbt
libraryDependencies += "rocks.earlyeffect" %%% "chekhov-dom" % "0.0.1" % Test
Test / jsEnv := chekhovJSEnv.value
Ascent + JSEnv
libraryDependencies += "rocks.earlyeffect" %%% "chekhov-ascent" % "0.0.1" % Test
Test / jsEnv := chekhovJSEnv.value
Core algebras only
libraryDependencies += "rocks.earlyeffect" %% "chekhov-core" % "0.0.1"Documentation
Continue with: