
There are still some bugs, still some outstanding features, but I don't want to hold this back any longer, that way I can keep the future PRs much more focused
Kompendium
Table of Contents
What is Kompendium
Kompendium is intended to be a minimally invasive OpenApi Specification generator for Ktor. Minimally invasive meaning that users will use only Ktor native functions when implementing their API, and will supplement with Kompendium code in order to generate the appropriate spec.
How to install
Kompendium publishes all releases to Maven Central. As such, using the release versions of Kompendium
is as simple as
declaring it as an implementation dependency in your build.gradle.kts
repositories {
mavenCentral()
}
dependencies {
implementation("io.bkbn:kompendium-core:latest.release")
}
The last two dependencies are optional.
In addition to publishing releases to Maven Central, a snapshot version gets published to GitHub Packages on every merge
to main
. These can be consumed by adding the repository to your gradle build file. Instructions can be
found here
Library Details
Details on how to use Kompendium can be found in the Wiki (WIP, this is new for V2 and will be fleshed out prior to release)
Local Development
Kompendium should run locally right out of the box, no configuration necessary (assuming you have JDK 1.8+ installed).
New features can be built locally and published to your local maven repository with the ./gradlew publishToMavenLocal
command!
The Playground
This repo contains a playground
module that contains a number of working examples showcasing the capabilities of
Kompendium.
Feel free to check it out, or even create your own example!