Index

Specular is tests-as-docs for Scala 3: author pages as DocSpec programs that assert under zio-test and SSR into a static site through ascent.

Most teams adopt it as the sbt-specular plugin, which wires project meta and runs specularSite. The libraries (specular-core, specular-zio-test, specular-site with Mermaid Prose fences via specular-mermoid) are available when you want to compose sites by hand.

sbt plugin (typical)

// project/plugins.sbt
addSbtPlugin("rocks.earlyeffect" % "sbt-specular" % "0.11.0")

// build.sbt
enablePlugins(SpecularPlugin)
specularBuildMain := "com.example.docs.BuildSite"
specularMetaProject := Some(LocalProject("root"))

// then
sbt docs/specularSite

Libraries (optional)

libraryDependencies ++= Seq(
  "rocks.earlyeffect" %% "specular-core"     % "0.11.0",
  "rocks.earlyeffect" %% "specular-zio-test" % "0.11.0",
  "rocks.earlyeffect" %% "specular-site"     % "0.11.0", // JVM
)

Documentation

Continue with: