This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Code @ LHC is a Hugo-based static site serving as the official open source software catalog for the Luxembourg House of Cybersecurity (LHC), showcasing cybersecurity projects from CIRCL and NC3-LU. Deployed to GitHub Pages from the theme_kode branch.
# Local development (port 1313, includes drafts, auto-reload)
hugo server -D --disableFastRender
# Production build (output to public/)
hugo --minify --gc
# After cloning or switching branches
git submodule update --init --recursiveThere are no automated tests — verify changes locally via hugo server, checking the console for warnings about missing resources or broken links.
Stack: Hugo v0.108.0, kode theme (git submodule), Dart Sass Embedded for SCSS compilation via Hugo Pipes.
Content model:
content/projects/*.md— One file per project with TOML front matter:title,author(referencesdata/authors/*.toml),description,logo,weight(sort order),repository(GitHub org/repo path). Body typically uses{{< readme >}}shortcode.layouts/shortcodes/readme.html— Fetches each project'sREADME.mdfrom GitHub at build time using Hugo'sresources.GetRemote. Requires the project's default branch to bemaster.data/homepage.yml— Drives homepage sections (banner, highlights, CTA).data/authors/— Author metadata (CIRCL.toml, NC3.toml) referenced by project front matter.config/_default/menus.toml— Navigation config.assets/sass/custom.scss— Site-specific SCSS compiled by Hugo Pipes.static/img/— Project logos referenced by filename in project front matter.
Theme customization: Override theme templates in the root layouts/ directory. Do not edit themes/kode/ directly — it is a git submodule.
Deployment: GitHub Actions (.github/workflows/hugo.yml) triggers on push to theme_kode branch, builds with HUGO_ENVIRONMENT=production, and deploys public/ to GitHub Pages.
Commit messages: type: [scope] message
- Examples:
new: [project] Add Range42,fix: [cicd] Fixed out of date actions,new: [pic] Added scandale logo - Common types:
new,fix,upd,del
Files: snake_case filenames, Markdown with TOML front matter, ~100 char line wrap, SCSS with 2-space indent.
Adding a project: Create content/projects/<name>.md with TOML front matter, add logo to static/img/, ensure the GitHub repo's default branch is master for the readme shortcode to work.
Branch targeting: All work destined for production must merge to theme_kode (not main/master).