Skip to content
adamko-devPublic

About

Generates documentation for Kotlin Gradle projects (based on Dokka)

Topics

Resources

Code of conduct

Contributing

Stars

95 stars

Watchers

2 watching

Forks

Repository files navigation

GitHub license Gradle Plugin Portal Maven Central Maven Central Snapshots Slack

Dokkatoo Logo

Status Update

Dokkatoo has been merged into the main Dokka project! In October 2025 Dokka v2.1.0 was released, which means the official Dokka Gradle plugin has all the same features as Dokkatoo, as well as improved performance, stability, and support.

The Dokkatoo Gradle plugin is now obsolete. It will no longer be maintained. It will be deprecated in a future release.

Migration from Dokkatoo to Dokka Gradle plugin

Please migrate from Dokkatoo to Dokka to ensure you receive the latest features, bug fixes, and support.

  • Use the new plugin ID:

    • Replace id("dev.adamko.dokkatoo") with id("org.jetbrains.dokka").
    • Replace id("dev.adamko.dokkatoo-html") with id("org.jetbrains.dokka").
    • Replace id("dev.adamko.dokkatoo-javadoc") with id("org.jetbrains.dokka-javadoc").

    Note: The experimental Jekyll and GitHub Markdown formats are not available in Dokka 2.1.0.
    See The future of Dokkatoo below.

  • Update any import statements. The packages are different, so the classes must be re-imported. For example:

    • dev.adamko.dokkatoo.DokkatooExtension is now org.jetbrains.dokka.gradle.DokkaExtension.
    • dev.adamko.dokkatoo.dokka.parameters.VisibilityModifier is now org.jetbrains.dokka.gradle.engine.parameters.VisibilityModifier.
  • Replace dokkatoo {} with dokka {} in Gradle build scripts.

  • Update any dependencies:

    • Replace dokkatoo(project(":some-subproject")) with dokka(project(":some-subproject")).
    • Replace dokkatooPlugin(...) with dokkaPlugin(...).
  • Update any task names from dokkatoo to dokka.

The official DGPv1 to DGPv2 docs might be helpful too: https://kotl.in/dokka-gradle-migration

Migration might be a bit more complicated than that, so if anything is unclear please reach out in Kotlinlang Slack #dokka or create an issue.

The future of Dokkatoo

If Dokkatoo is obsolete, what is the purpose of this repository?

I think we can still use Dokkatoo as a force for good. Dokka has always been very pluggable, and there is a scattering of useful plugins. I want to make Dokkatoo a hub for community-maintained plugins for Dokka.

Since the Dokka team do not have the capacity to maintain the Jekyll and GitHub Markdown plugins, instead we can migrate them into Dokkatoo, where they can be maintained in this repo, and the community can contribute to them.

If you are interested in contributing a Dokka plugin, or maintaining an existing one, please reach out in Kotlinlang Slack #dokka or create an issue.

Thanks

Lastly, I want to thank everyone who made Dokkatoo such a success. I'm sure Dokkatoo was just another library for most people, but for me, it represents a milestone of my life. I started Dokkatoo as a hobby (or, more accurately, a yak-shaving) project. My efforts were noticed and encouraged, and JetBrains hired me to merge Dokkatoo into Dokka.

To everyone in the Dokka, Kotlin Build Tools, and Kotlin teams: thanks for the help, support, and code reviews. And I especially want to thank all the users who gave feedback, reported bugs, requested features, opened pull requests, or even just those who quietly used Dokkatoo. I always appreciated your support.

When I look back on Dokkatoo, two things stand out. The first is the high point, which was when Gradle decided to use Dokkatoo to generate Gradle docs - I had written a plugin good enough for Gradle itself! The second is just how confusing the name was in meetings. I laughed every time someone said "Dokkatoo" and someone else thought they said "Dokka 2" - exactly what I wanted!


Click here to view the rest of the readme

Dokkatoo is a Gradle plugin that generates easy-to-use reference documentation for your Kotlin (or Java!) projects.

What can Dokkatoo do?

  • Automatic documentation - Automatically generates up-to-date docs from your code, for both Kotlin and Java projects.
  • Format Flexibility - Supports generating HTML, Javadoc, and Markdown output formats.
  • Customization King - Make your documentation truly yours. With Dokkatoo, you can customize the output, including custom stylesheets and assets.
  • Gradle's Best Friend - Compatible with all of Gradle's most powerful features! Incremental compilation, multimodule builds, composite builds, Build Cache, Configuration Cache.

Under the hood Dokkatoo uses Dokka, the API documentation engine for Kotlin.

Showcase

For real-life examples of the documentation that Dokkatoo generates, check out the showcase!

Getting Started

View the documentation for more detailed instructions about how to set up and use Dokkatoo.

Quick start

To quickly generate documentation for your project, follow these steps.

[!TIP] Dokkatoo supports multiple formats, but HTML is the quickest and easiest to get started with.

  1. Check the Gradle Plugin Portal to find the latest version of Dokkatoo.

  2. Add the Dokkatoo plugin to your subproject:

    // build.gradle.kts
    
    plugins {
      kotlin("jvm")
      id("dev.adamko.dokkatoo-html")
    }
  3. (Optional) If you'd like to combine multiple subprojects, add the Dokkatoo plugin to each subproject, and aggregate them in a single project by declaring dependencies to the subprojects.

    // build.gradle.kts
    plugins {
       id("dev.adamko.dokkatoo-html")
    }
    
    dependencies {
      // Aggregate both subproject-hello and subproject-world into the current subproject.
      // These subprojects must also have Dokkatoo applied.
      dokkatoo(project(":subproject-hello"))
      dokkatoo(project(":subproject-world"))
    }
  4. Run the generation task:

    ./gradlew :dokkatooGenerate
  5. View the results in ./build/dokka/

For more detailed instructions about how to set up and use Dokkatoo, and control the output, more guides are available in the docs.

Releases

Dokkatoo is available from the Gradle Plugin Portal and Maven Central. Snapshot releases are also available.

More details about the Dokkatoo releases is available in the documentation Dokkatoo Documentation

About

Generates documentation for Kotlin Gradle projects (based on Dokka)

Topics

Resources

Code of conduct

Contributing

Stars

95 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages