dicechess.engine.cli

Interactive Command Line Interface (CLI) for the Dice Chess Engine.

This package implements the terminal REPL interface. The CLI is isolated in its own module to prevent heavy terminal dependencies (like decline and jline) from leaking into the main engine artifact, ensuring a lightweight footprint for downstream consumers.

Attributes

Members list

Type members

Classlikes

object BoardPrinter

Renders dicechess.engine.domain.GameState boards to the terminal.

Renders dicechess.engine.domain.GameState boards to the terminal.

The printer supports both ASCII and Unicode rendering modes because some environments (like Windows cmd.exe or non-UTF8 terminals) cannot reliably display chess glyphs, requiring a standard ASCII fallback for compatibility.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait CliCommand

Sealed CLI command hierarchy representing parsed REPL actions.

Sealed CLI command hierarchy representing parsed REPL actions.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class EvalCommand
object Commands

Command parsing schema and evaluation for interactive CLI usage.

Command parsing schema and evaluation for interactive CLI usage.

This module leverages decline to rebuild standard FEN strings from split terminal arguments and bind them to the internal command hierarchy.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Commands.type
case class EvalCommand(fen: String, unicode: Boolean) extends CliCommand

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait CliCommand
class Object
trait Matchable
class Any
Show all