2.2 KiB
2.2 KiB
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
- Agent NEVER runs build commands or any automated processes without explicit user request, as the user is working in dev mode
Build Commands
npm run build- Build slides from Markdown using Marpnpm run dev- Start development server at http://localhost:8080npm run watch- Watch mode for live preview during developmentnpm run export:pdf- Export slides to PDF formatnpm run export:html- Export slides to HTML format
Test Commands
npm test- Run all testsnpm run test:watch- Run tests in watch modenpm run test -- --testNamePattern="specific test name"- Run single test
Code Style Guidelines
File Structure
- Use
slides/directory for Markdown slide files - Use
assets/directory for images and media files - Always address images as ./assets/filename.png, not assets/ or ../assets/
- Use
themes/for custom Marp themes - Use
build/directory for generated output files (ignored by git)
Naming Conventions
- Slide files:
index.md,additional-slides.md(descriptive names) - Images:
snake_case.jpgorkebab-case.jpg - Themes:
custom-theme.css
Markdown Style
- Use ATX-style headers (# ## ###)
- Consistent code block language identifiers
- Frontmatter for slide metadata (title, theme, etc.)
- Never include a final --- as it creates an unwanted empty slide
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
Makefile Commands
make build- Build slides from Markdownmake dev- Start development servermake watch- Watch for changes and rebuildmake pdf- Export slides to PDFmake html- Export slides to HTMLmake clean- Remove generated filesmake install- Install dependenciesmake deploy- Deploy slides to server