Files
uni/CLAUDE.md

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
  • 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-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 (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