- 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
2.3 KiB
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.jpgorkebab-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