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: