Catscript 😸

Making scripts in pure Scala much easier!

Getting Started

You can use Catscript in a new or existing Scala 2.13.x or 3.x project by adding it to your build.sbt file:

libraryDependencies ++= Seq(
  "org.typelevel" %% "catscript" % "0.0-c511dbf-SNAPSHOT"
)

Example

Catscript is a library to perform common script operations such as working with processes and files while maintaining referential transparency!

import cats.effect.{IO, IOApp, ExitCode}

import catscript.*
import catscript.syntax.path.*

object Main extends IOApp: 

  def run(args: List[String]): IO[ExitCode] = 
    for
      home   <- userHome
      config = home / ".catscript" / "config.conf"
      _         <- config.createFile
      _         <- config.write("scripting.made.easy = true")
      newconfig <- config.read
      _         <- IO.println(s"Loading config: $newconfig")
    yield ExitCode.Success
    
end Main