commit dcacc9b4098245ca2827229529b1931a2c550440 Author: Michael Czechowski Date: Sat Sep 13 18:00:05 2025 +0200 initial commit diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..affc542 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,43 @@ +# AGENTS.md - Agent Guidelines for malta-slides-marp + +This project builds a presentation deck for Marp based on Markdown files. + +## Agent Restrictions +- Agent NEVER runs commands on its own except changing files INSIDE THIS FOLDER, never any other then this + +## Build Commands +- `npm run build` - Build slides from Markdown using Marp +- `npm run watch` - Watch mode for live preview during development +- `npm run export` - Export slides to PDF/HTML formats + +## Test Commands +- `npm test` - Run all tests +- `npm run test:watch` - Run tests in watch mode +- `npm run test -- --testNamePattern="specific test name"` - Run single test + +## Code Style Guidelines + +### File Structure +- Use `slides/` directory for Markdown slide files +- Use `assets/` for images and media files +- Use `themes/` for custom Marp themes + +### Naming Conventions +- Slide files: `01-intro.md`, `02-content.md` (numbered prefix) +- Images: `snake_case.jpg` or `kebab-case.jpg` +- Themes: `custom-theme.css` + +### Markdown Style +- Use ATX-style headers (# ## ###) +- Consistent code block language identifiers +- Frontmatter for slide metadata (title, theme, etc.) + +### Error Handling +- Validate Marp syntax before build +- Check for missing assets before export +- Log build errors with file paths and line numbers + +### Git Workflow +- Commit slide changes with descriptive messages (ALWAYS lowercase) +- Use feature branches for major slide revisions +- Tag releases with version numbers \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..083e069 --- /dev/null +++ b/Makefile @@ -0,0 +1,49 @@ +# Makefile for Marp Slides Project + +.PHONY: help build dev watch pdf html clean install + +# Default target +help: + @echo "Available commands:" + @echo " make build - Build slides from Markdown" + @echo " make dev - Start development server with live reload" + @echo " make watch - Watch for changes and rebuild automatically" + @echo " make pdf - Export slides to PDF format" + @echo " make html - Export slides to HTML format" + @echo " make clean - Remove generated files" + @echo " make install - Install dependencies" + +# Build slides +build: + @echo "Building slides..." + npm run build + +# Start development server +dev: + @echo "Starting development server..." + npm run dev + +# Watch for changes +watch: + @echo "Watching for changes..." + npm run watch + +# Export to PDF +pdf: + @echo "Exporting to PDF..." + npm run export:pdf + +# Export to HTML +html: + @echo "Exporting to HTML..." + npm run export:html + +# Clean generated files +clean: + @echo "Cleaning generated files..." + rm -rf dist/ build/ *.pdf *.html + +# Install dependencies +install: + @echo "Installing dependencies..." + npm install \ No newline at end of file