This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is the Komapper Documentation project - a Hugo-based static site using the Docsy theme to document Komapper, an ORM library for server-side Kotlin supporting JDBC and R2DBC. The site is deployed at https://www.komapper.org/ and supports bilingual content (English/Japanese).
# Local development (preferred method)
docker compose build
docker compose up
# Access at http://localhost:1313
# Version management
./gradlew updateVersion # Update version numbers across documentation
./gradlew prepareRelease # updateVersion + update the version list in config.toml
./gradlew archive # Archive current version (config flags + version list)
./gradlew debug # Show current branch name
# Direct Hugo (requires local Hugo installation)
hugo server # Start development server
hugo server --buildDrafts # Include draft content- Hugo: Static site generator with Docsy theme
- Gradle: Version management and automated content updates
- Docker: Containerized development environment
- Netlify: Hosting with deploy previews for PRs
The project maintains multiple versions with sophisticated automation:
- Version numbers defined in
gradle.properties(Kotlin, KSP, Komapper) updateVersiontask automatically updates version references across documentationprepareReleasetask additionally maintains the[[params.versions]]list inconfig.toml- Each version gets its own branch and subdomain (e.g., v6-0.komapper.org)
content/
├── en/ # English documentation
└── ja/ # Japanese documentation
The release is automated by the release skill (.claude/skills/release/SKILL.md):
run /release <komapper-version>. The underlying steps are:
- Update version numbers in
gradle.properties - Run
./gradlew prepareRelease(also updates the version list inconfig.toml) - Commit, create new branch from main, push both
- Switch the Netlify production branch to the new branch
- In old branch, run
./gradlew archive(also updates the version list inconfig.toml) - Commit and push
- Create subdomain on Netlify (unless automatic deploy subdomains are enabled)
config.toml: Hugo configuration with version and URL settingsgradle.properties: Version definitions for all dependenciesbuild.gradle.kts: Gradle tasks for version management and content updatescontent/en/andcontent/ja/: Bilingual documentation content
- Always maintain both English and Japanese content when making changes
- Use Gradle tasks for version updates to ensure consistency across all files
- Netlify provides automatic deploy previews for pull requests
- The Docsy theme is managed as a Hugo module dependency