79 lines
2.6 KiB
Markdown
79 lines
2.6 KiB
Markdown
# CLAUDE.md - Agent Guidelines for Uni Slides (DHBW + HdM)
|
||
|
||
This project builds presentation decks for Marp, supporting multiple courses.
|
||
|
||
## Courses
|
||
|
||
- **223015b** - Dateiformate, Schnittstellen, Speichermedien (HdM, 6 Kapitel)
|
||
- **223015c** - Internettechnologien (HdM, 3 Kapitel)
|
||
- **dhbw** - Technik I – Grundlagen IT (DHBW, 4 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/ # HdM: Dateiformate
|
||
├── 223015c/ # HdM: Internettechnik
|
||
└── dhbw/ # DHBW: Technik I
|
||
scripts/ # Shared scripts
|
||
themes/ # Custom Marp themes
|
||
build/ # Generated output (gitignored)
|
||
```
|
||
|
||
## Build Commands
|
||
|
||
```bash
|
||
make hdm-dev # HdM live server all (port 1312)
|
||
make hdm-dev-b # HdM 223015b only (port 1313)
|
||
make hdm-dev-c # HdM 223015c only (port 1314)
|
||
make dhbw-dev # DHBW live server (port 1315)
|
||
make hdm-build # Build all HdM courses
|
||
make dhbw-build # Build DHBW course
|
||
make hdm-html # HTML only (HdM)
|
||
make hdm-pdf # PDF only (HdM)
|
||
make hdm-klausur # Extract klausur slides → slides/*/klausurfolien.md
|
||
make hdm-deploy # Deploy HdM (ASK FIRST!)
|
||
make dhbw-deploy # Deploy DHBW (ASK FIRST!)
|
||
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
|