Skip to content

Principled code generation from OpenAPI specifications


Notifications You must be signed in to change notification settings


Repository files navigation

guardrail Build Status | codecov | Matrix chat | Join the chat at | Scala Steward badge

guardrail is a code generation tool, capable of reading from OpenAPI/Swagger specification files and generating both Scala and Java source code, targeting various libraries and frameworks listed here:

  • Scala: akka-http and http4s, both backed by circe, as well as dropwizard backed by jackson
  • Java: dropwizard and spring-mvc, both backed by jackson

Build tool plugins

Plugins versions docs
guardrail-dev/sbt-guardrail sbt-guardrail docs
guardrail-dev/guardrail-maven-plugin guardrail-maven-plugin docs
guardrail-dev/guardrail-gradle-plugin guardrail-gradle-plugin Plugin Portal
CLI support Latest cs install guardrail, docs

New to guardrail?

Check out the docs!

Compatible library versions are listed in

guardrail module versions

guardrail is modularized, using sbt-version-policy to ensure binary compatibility between dependent modules.

The dependency chain and versions of published modules are listed below for reference:

module version depends on
guardrail-core guardrail-core
guardrail-java-support guardrail-java-support core
guardrail-java-async-http guardrail-java-async-http java-support
guardrail-java-dropwizard guardrail-java-dropwizard java-support, java-async-http
guardrail-java-spring-mvc guardrail-java-spring-mvc java-support
guardrail-scala-support guardrail-scala-support core
guardrail-scala-akka-http guardrail-scala-akka-http scala-support
guardrail-scala-dropwizard guardrail-scala-dropwizard scala-support
guardrail-scala-http4s guardrail-scala-http4s scala-support
guardrail-cli guardrail-cli guardrail-core

Interested in contributing? provides an overview of how the project is structured, expectations, and information around writing new integration tests. The issue tracker also has tags for help wanted and good first issue.



We used to have a list of contributors here, but github's Contributors page is much more accurate. Thanks to those who contributed before the project was open sourced!