Files
2025/CLAUDE.md
Michael Czechowski a8343c9937 restructure: rename termin to kapitel, flatten folder structure
- rename slide files: YYYY-MM-DD-termin-N-topic.md → NN-topic.md
- flatten folders: courses/X/slides/ → slides/X/
- replace "Termin" with "Kapitel" in all content
- add klausur extraction script (make klausur)
- update Makefile, generate-index.sh, dev-server.sh
- add README.md with full documentation
2026-01-25 11:26:15 +01:00

2.3 KiB

CLAUDE.md - Agent Guidelines for HdM Slides

This project builds presentation decks for Marp, supporting multiple courses.

Courses

  • 223015b - Dateiformate, Schnittstellen, Speichermedien (6 Kapitel)
  • 223015c - Internettechnologien (3 Kapitel)

Agent Restrictions

  • Agent NEVER runs commands outside this folder
  • Agent NEVER runs build/deploy commands without explicit user request
  • Agent NEVER runs deploy commands (make deploy, scp, etc.) without explicit user permission

Critical File Protection

Slide files in slides/*/*.md are main content files:

  • ALLOWED: Adding slides, adjusting content, fixing typos, enhancing sections
  • FORBIDDEN (without permission): Deleting slides, removing sections, bulk deletions
  • Before ANY deletion: ALWAYS ask user for confirmation

Project Structure

slides/
├── 223015b/            # Dateiformate course
└── 223015c/            # Internettechnik course
scripts/                # Shared scripts
themes/                 # Custom Marp themes
build/                  # Generated output (gitignored)

Build Commands

make dev-b          # Dev server 223015b (port 1311)
make dev-c          # Dev server 223015c (port 1312)
make build          # Build all courses
make build-b        # Build 223015b only
make build-c        # Build 223015c only
make html           # HTML only
make pdf            # PDF only
make klausur        # Extract klausur slides → slides/*/klausur.md
make deploy         # Deploy all (ASK FIRST!)

Nix Flake Commands

nix develop                           # Dev shell with all tools
nix run .#qr -- "https://example.com" # Generate QR code
nix run .#qr-slides -- 223015b        # QR for course
nix run .#optimize-img -- <path>      # Optimize images

Code Style Guidelines

File Structure

  • Slides in slides/<course>/
  • Assets in slides/<course>/assets/
  • Always reference images as ./assets/filename.png

Naming Conventions

  • Slide files: NN-topic.md (e.g., 01-grundlagen.md)
  • Images: snake_case.jpg or kebab-case.jpg

Markdown Style

  • Use ATX-style headers (# ## ###)
  • Frontmatter for slide metadata
  • Never include a final --- (creates empty slide)

Git Workflow

  • Commit messages: ALWAYS lowercase
  • NEVER add co-authoring lines or generated footers