Development Guide

This page is for contributors working on tapik itself, not for teams adopting the library in an application.

Repository layout

The repository is organized by responsibility:

Area Modules

Contract DSL and runtime model

core, codec, jackson, types

Code generation

common-plugin, spring-restclient, spring-webmvc

Build integration

gradle-plugin

Documentation site

docs

Shared build logic

build-logic

Common commands

Task Command

Build everything

./gradlew build

Run the full verification suite

./gradlew check

Reformat Kotlin

./gradlew ktlintFormat

Regenerate API reference

./gradlew dokkaGenerate --console=plain

Preview the Antora site

npm run docs:preview

Working on contract or generator changes

When you change public API or generator behavior:

  • update KDoc,

  • rerun Dokka,

  • verify the user docs against current source and generated outputs,

  • keep examples source-backed and complete enough to be useful.

For docs work specifically:

  • organize pages around user problems, not internal module tours,

  • distinguish supported features from planned ones clearly,

  • avoid inheriting stale wording from older docs,

  • prefer verified examples over diagrams.

Release and versioned docs

Versioned Antora docs are driven by v* tags that contain the Antora descriptor. The preview playbook renders the current worktree. The release playbook renders tagged versions.