Skip to content

Stuart-campbell/kompendium

 
 

Repository files navigation

Kompendium

version

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.

Compatability

Kompendium Ktor OpenAPI
1.X 1 3.0
2.X 1 3.0
3.X 2 3.1

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")
}

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

Library documentation lives alongside the source code, and is generated into a static site via Dokka. Can be viewed here

Local Development

Kompendium should run locally right out of the box, no configuration necessary (assuming you have JDK 11+ 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!

About

Ktor OpenAPI Spec Generator

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Kotlin 99.7%
  • HTML 0.3%