Branch Framework

Branch is a zero-dependency framework for Scala 3 on Java 21+.

Why zero-dependency? For fun! Fun, and to illustrate how much you can get done with Scala without relying on bigger frameworks. Branch will not be the fastest, most performant solution, but it will (hopefully) let you get things done quickly! Think of it as the framework for your side-project, not your job.

Branch is made up of a collection of modules, each focusing on different parts:

  • Lzy - Lazy Futures or Tiny Effects?
  • Spider - A wrapper/framework around the Java HttpServer, as well as HttpClient helpers, a Web Socket Server implementation, and a server-side reactive UI framework named WebView
  • Piggy - A SQL framework around java.sql
  • Friday - A JSON library, because Scala doesn't already have enough
  • Macaroni - Some reusable helpers and meta-programming utilities
  • Veil - .env / (JSON based) Config utilities
  • Blammo - It's better than bad, it's (JSON) logging! (And Metrics! And Tracing!)
  • Keanu - A simple typed EventBus implementation, and a mediocre untyped ActorSystem
  • Ursula - A slim CLI framework
  • Mustachio - A Mustache template engine, great for HTML templating
  • Holywood - A library for LLM Agents, with local LLMs in mind