74 lines
2.3 KiB
Markdown
74 lines
2.3 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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
|