# CLAUDE.md - Agent Guidelines for HdM Slides This project builds presentation decks for Marp, supporting multiple courses. ## Courses - **223015b** - Dateiformate, Schnittstellen, Speichermedien (6 Termine) - **223015c** - Internettechnologien (3 Termine) ## 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 `courses/*/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 ``` courses/ ├── 223015b/slides/ # Dateiformate course └── 223015c/slides/ # Internettechnik course scripts/ # Shared scripts themes/ # Custom Marp themes build/ # Generated output (gitignored) ``` ## Build Commands ```bash make dev-b # Dev server 223015b (port 1312) make dev-c # Dev server 223015c (port 1313) 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 deploy # Deploy all (ASK FIRST!) ``` ## Nix Flake Commands ```bash 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 -- # Optimize images ``` ## Code Style Guidelines ### File Structure - Slides in `courses//slides/` - Assets in `courses//slides/assets/` - Always reference images as `./assets/filename.png` ### Naming Conventions - Slide files: `YYYY-MM-DD-termin-N-topic.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