This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is the JobRunr website (www.jobrunr.io), built with Hugo static site generator using the Fortify Hugo theme and Tailwind CSS v4.
Hugo, Go, and Node.js must be installed. See README.md for installation links.
Development:
hugo server -D # Start local server (-D shows draft articles)
npm run dev # Start server (no drafts)
npm run preview # Preview production buildBuild:
npm run build # Production build with minification
npx -y pagefind --site public # Build search index (run after hugo build)Setup:
npm run project-setup # Initial project setup
npm i # Install dependenciesMaintenance:
npm run update-modules # Update Hugo modules
npm run format # Format code with Prettiercontent/english/- All site content in Englishblog/- Blog posts (markdown with front matter)documentation/- Documentation pages with sidebar navigationguides/- Tutorial guidesuse-case/- Use case pages
themes/fortify-hugo/- Base Fortify theme with JobRunr extensionsassets/css/- Stylesheets (base, components, documentation, syntax highlighting)assets/js/- JavaScript (codetabs, code-copy, framework switching, etc.)layouts/- Page templates for all content types
layouts/_markup/- Custom render hooks that override theme defaultsrender-blockquote-alert.html- GitHub-style alert renderingrender-heading.html- Heading customizationrender-image.html- Image processing
hugo.toml- Main Hugo configurationconfig/_default/- Additional config (menus, params, modules)go.mod- Hugo module dependencies
assets/- Images organized by content type (blog, documentation, guides)static/- Static files served directly
The site uses defaultContentLanguageInSubdir = true, so all URLs are prefixed with /en/. When linking between pages, always use Hugo's ref shortcode rather than hardcoding paths:
[link text]({{< ref "documentation/some-page" >}})See README.md for full documentation on JobRunr's custom shortcodes including:
- Code tabs (
codetabs/codetab) - Synchronized tabs for Maven/Gradle, Java/Kotlin, configuration properties examples, etc. - Alerts - GitHub-style alerts (
NOTE,TIP,WARNING,CAUTION,PRO)
Documentation uses sidebar navigation controlled by front matter:
menu:
sidebar:
identifier: unique-id
name: Display Name
weight: 10- Keep code comments minimal
- Use concise, direct language
- Documentation and Guide: Read a few existing documentation files to match tone and style.
- Technical Blog posts and Use cases:
- Write like a developer talking to a peer, not like a marketing team.
- No unverified claims or invented statistics. Research outstanding articles (official docs, well-regarded blog posts) to support claims and include them as sources.
- Verify all JobRunr features, APIs, and config properties against the documentation in
content/english/documentation,content/english/guides— don't guess, notify in case of uncertainty. - Before writing, read 2-3 of these posts to match tone and style:
blog/2024-10-31-task-schedulers-java-modern-alternatives-to-quartz.mdblog/2023-02-13-java-scheduler.mdblog/Simplified-RAG-Workflows-in-Java.mdblog/2022-10-05-JobRunr-and-daylight-saving-time.mdblog/axon-framework-jobrunr-pro.md
- Keep code and comments concise
- Avoid unnecessary comments
The .llm/ directory is a persistent scratchpad for LLMs to store context across sessions and long-running tasks that may exceed the context window. Use it to save notes, plans, progress, or research so work can be resumed seamlessly. This folder is gitignored.
In hugo.toml:
params.jobRunrVersion- Current JobRunr version displayed throughout the siteparams.enableTrialButton- Toggle trial button visibility