Files
uni/CLAUDE.md
Michael Czechowski 3c78c898dd add documentation
- README.md: project overview, commands, structure
- CLAUDE.md: agent guidelines for slide editing
2025-12-30 11:30:45 +01:00

2.2 KiB

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

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

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 courses/<course>/slides/
  • Assets in courses/<course>/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