# Scrollsmith [![status-badge](https://ci.keligrubb.com/api/badges/2/status.svg)](https://ci.keligrubb.com/repos/2) Scrollsmith is a Node.js tool for generating Dungeons & Dragons one-page dungeon PDFs automatically. It uses an Ollama LLM server to create dungeon content, proofreads and refines it, then formats it into a structured PDF with maps, rooms, encounters, treasure, and NPCs. --- ## Features - **Three-pass dungeon generation**: 1. Draft: initial dungeon ideas 2. Refine: proofread, add flavor, fill in vague details 3. JSON conversion: output strictly valid JSON for PDF generation - Automatically generates a PDF named after the dungeon title - PDF layout includes three columns: map & hooks, rooms, encounters & treasure & NPCs - Easy to integrate with a local Ollama server --- ## Requirements - Node.js 22+ - Ollama server running and accessible - Nextcloud (optional) for PDF uploads - `.env` file with: ```env OLLAMA_API_URL=http://localhost:3000/api/chat/completions OLLAMA_API_KEY=your_api_key_here ```` --- ## Installation ```bash git clone https://github.com/yourusername/scrollsmith.git cd scrollsmith npm install ``` --- ## Usage 1. Make sure your Ollama server is running and `.env` is configured. 2. Run: ```bash npm start ``` 3. A PDF will be generated automatically. The filename matches the dungeon title. Optional: update the map path in `index.js` if you have a local dungeon map. --- ## Example Output * `the-tomb-of-shadows.pdf` * Three-column layout: * Column 1: Map, Adventure Hooks, Rumors * Column 2: Keyed Rooms * Column 3: Encounters, Treasure, NPCs --- ## Notes * Make sure your Ollama server is accessible and API key is valid. * Dungeon generation can take a few minutes depending on your LLM response time. --- ## License PROPRIETARY