mattroberts297 / claper

A Command Line Argument Parser for Scala



Build status Coverage status Maven central

A Command Line Argument Parser without the boiler plate.

Getting Started

Add the library as a dependency in your project's build.sbt file:

scalaVersion := "2.12.1"

libraryDependencies ++= Seq(
  "io.mattroberts" %% "claper" % "0.3.0"

Then use it to parse command line arguments:

import io.mattroberts.Claper
case class Args(alpha: String, beta: Int, charlie: Boolean)
val args = List("--alpha", "alpha", "--beta", "1", "--charlie")
val parsed = Claper[Args].parse(args)
println(parsed) // Right(Args("alpha", 1, true))


See ClaperSpec for full usage.


  • Support for case classes (products)
  • Support for default values
  • Support for Linux style arguments

Future Features

In the future I might:

  • Add coproduct support
  • Add short Linux style arguments