Files
uni/CLAUDE.md
Michael Czechowski c57db78c52 rework dev server: hmr for all courses, per-course targets, root index
- make dev serves all courses on port 1312 with marp live reload
- make dev-b/dev-c for single course on 1313/1314
- dev-kill only kills specific ports instead of all marp processes
- add generate-root-index.sh for prod build overview page
- cleanup function uses exec + trap instead of pid files
2026-04-09 22:10:48 +02:00

2.4 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
  • Agent NEVER runs git checkout -- or git restore on files with uncommitted work. To undo specific changes, use targeted Edit operations instead.

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            # Marp live server all courses (port 1312, HMR)
make dev-b          # Marp live server 223015b (port 1313, HMR)
make dev-c          # Marp live server 223015c (port 1314, HMR)
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 (node 22, npm, make)

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