commit 4f4fc67760133b90b8e8b9487b18de82b6049d9a Author: Lucas Morgan Date: Tue Apr 7 21:27:05 2026 -0500 init project structure and instructions diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3befa26 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.qwen/ diff --git a/QWEN.md b/QWEN.md new file mode 100644 index 0000000..5e600d2 --- /dev/null +++ b/QWEN.md @@ -0,0 +1,219 @@ +# D&D Campaign Notes + +## Overview + +This directory is a **single source of truth** for all D&D notes — multiple campaigns, multiple worlds, ideas, and homebrew. Designed for use with **Obsidian**, with wiki-links connecting content across campaigns and worlds. + +## Core Organization Principle + +**Worlds are reusable context. Campaigns are specific stories played within them.** + +- **Worlds** (`worlds/`) contain persistent lore, geography, factions, and NPCs that exist independently of any single campaign. +- **Campaigns** (`campaigns/`) link to a world and layer on top the specific story, session notes, and campaign-only NPCs/items. +- **Ideas** (`ideas/`) are a scratch space for future campaigns, worlds, and mechanics. + +## Folder Structure + +``` +dnd/ +├── worlds/ +│ └── world-name/ +│ ├── overview.md # Cosmology, history, tone, magic rules +│ ├── geography/ # Continents, regions, kingdoms, maps +│ ├── factions/ # Organizations, guilds, religions, orders +│ ├── npcs/ # World-level NPCs (reusable across campaigns/eras) +│ ├── lore/ # Myths, legends, major historical events +│ └── creatures/ # Homebrew monsters, regional ecology +│ +├── campaigns/ +│ └── campaign-name/ +│ ├── overview.md # Premise, timeline, linked world, player info +│ ├── sessions/ # Session-by-session notes +│ ├── npcs/ # Campaign-specific NPCs (villains, quest givers) +│ ├── quests/ # Story arcs, plot hooks, timelines +│ ├── items/ # Campaign-specific magic items and loot +│ └── locations/ # Specific places visited (link to world geography) +│ +├── ideas/ +│ ├── campaign-ideas/ # Premises not yet run +│ ├── world-ideas/ # Concepts for future worlds +│ └── mechanics/ # Homebrew rules, class/race ideas, tables +│ +├── systems/ # Game system references +│ ├── dnd-5e/ +│ └── other-systems/ +│ +└── players/ # PC sheets, backstories, character arcs +``` + +## How Worlds and Campaigns Relate + +### Same World, Different Eras + +``` +worlds/eldoria/ # The world definition + ├── npcs/king-aldric.md # An eternal figure, referenced across eras + └── factions/the-red-circle.md # A mage order that exists for centuries + +campaigns/shattered-crown/ # Set in Eldoria, Continent A, year 1200 + overview.md → "Set in [[worlds/Eldoria]]" + npcs/red-circle-elder.md # The Red Circle as it is NOW (corrupted) + +campaigns/ashes-of-the-north/ # Set in Eldoria, Continent A, year 1100 + overview.md → "Set in [[worlds/Eldoria]]" + npcs/red-circle-founder.md # The Red Circle at its founding (idealistic) +``` + +### Same World, Different Locations + +``` +campaigns/southern-tides/ # Set in Eldoria, Continent B + overview.md → "Set in [[worlds/Eldoria]]" + locations/port-city.md → "On the coast of [[worlds/Eldoria/geography/Continent B]]" +``` + +## Where Do NPCs Live? + +| Type | Location | Example | +|------|----------|---------| +| **World NPC** — exists across campaigns/eras | `worlds/world-name/npcs/` | A legendary king, an immortal wizard, a faction leader | +| **Campaign NPC** — specific to this story | `campaigns/campaign-name/npcs/` | The local blacksmith who gives a side quest, the BBEG | +| **Player Character** | `players/` | Linked from the campaign they belong to | + +Campaign notes can **link to** world NPCs. If a campaign changes or evolves a world NPC, create a campaign-specific note that links back: + +```markdown +# Campaign Villain + +> Once a member of [[worlds/Eldoria/factions/The Red Circle]], now corrupted. +> Originally inspired by [[worlds/Eldoria/npcs/King Aldric]]. +``` + +## Obsidian Markdown Conventions + +### Wiki-links +Link notes across folders: `[[worlds/Eldoria]]`, `[[campaigns/Shattered Crown/overview]]` + +### Tags +Use consistent tags for search and graph view: +- `#world`, `#campaign`, `#session` +- `#npc`, `#location`, `#faction`, `#item`, `#quest` +- `#homebrew`, `#idea` + +### Frontmatter +Include metadata for filtering and potential Dataview plugin use: + +```yaml +--- +type: npc +world: Eldoria +faction: The Red Circle +status: alive +era: 1100-1250 +--- +``` + +### Callouts +Use Obsidian callouts for formatted blocks: + +```markdown +> [!info] Quick Reference +> **Race:** Human +> **Class:** Wizard +> **Location:** [[worlds/Eldoria/geography/The Capital]] + +> [!warning] Spoilers +> The king is actually the villain — don't reveal to players. + +> [!tip] DM Note +> Foreshadow this event two sessions before it happens. +``` + +## Note Templates + +### World Overview +```markdown +--- +type: world +name: World Name +--- + +# World Name + +> [!info] At a Glance +> **Tone:** Dark fantasy / High magic / Pulp adventure +> **Magic System:** [[Magic rules]] +> **Major Events:** [[Lore event 1]], [[Lore event 2]] + +## Cosmology +## Geography +## Factions +## History Timeline +``` + +### Campaign Overview +```markdown +--- +type: campaign +world: [[World Name]] +system: D&D 5e +status: active +start_date: 2025-01-01 +--- + +# Campaign Name + +> [!info] At a Glance +> **World:** [[World Name]] +> **Setting:** Continent A, year 1200 +> **Tone:** Political intrigue, low magic + +## Premise +## Player Characters +- [[players/Character 1]] +## Active Quests +## Session Log +- [[Session 01]] +- [[Session 02]] +``` + +### NPC Template +```markdown +--- +type: npc +world: World Name # or campaign: Campaign Name +faction: Faction Name +status: alive +--- + +# NPC Name + +> [!info] Quick Reference +> **Race:** +> **Class/Role:** +> **Location:** [[Location]] + +## Appearance +## Personality +## Goals & Motivations +## Connections +- Ally of [[NPC]] +- Enemy of [[NPC]] +## Secrets (DM only) +``` + +## Usage + +1. Open this folder in Obsidian: **File → Open Folder** +2. Create a new world: copy `worlds/` template, fill in overview +3. Create a new campaign: copy `campaigns/` template, link to world +4. Link everything together with `[[wiki-links]]` +5. Use tags and frontmatter for search and graph view + +## Conventions + +- **File naming**: Title Case with spaces (e.g., `The Lost Artifact.md`, `Continent A.md`) +- **Folder naming**: lowercase with hyphens (e.g., `worlds/eldoria/`, `campaigns/shattered-crown/`) +- **Linking over duplicating**: If content exists in a world, link to it from campaigns — don't copy it +- **Frontmatter**: Keep it consistent for Dataview compatibility +- **DM-only sections**: Use `> [!warning]` callouts or a `## Secrets` section to separate player-visible info diff --git a/campaigns/README.md b/campaigns/README.md new file mode 100644 index 0000000..7ba59ed --- /dev/null +++ b/campaigns/README.md @@ -0,0 +1,25 @@ +--- +type: folder +--- + +# Campaigns + +Each subfolder here is a specific campaign — a story played out within a world. Campaigns link to worlds and layer on session notes, specific NPCs, quests, and items. + +## Structure for Each Campaign + +``` +campaign-name/ +├── overview.md # Premise, timeline, linked world, player info +├── sessions/ # Session-by-session notes +├── npcs/ # Campaign-specific NPCs +├── quests/ # Story arcs, plot hooks, timelines +├── items/ # Campaign-specific magic items and loot +└── locations/ # Specific places visited +``` + +## Getting Started + +1. Create a new folder for your campaign (e.g., `campaigns/shattered-crown/`) +2. Create `overview.md` — link to the world it takes place in: `[[worlds/World Name]]` +3. Add subfolders as you go diff --git a/ideas/README.md b/ideas/README.md new file mode 100644 index 0000000..040cd4c --- /dev/null +++ b/ideas/README.md @@ -0,0 +1,13 @@ +--- +type: folder +--- + +# Ideas + +A scratch space for future campaigns, worlds, and mechanics. Nothing too structured here — just a place to capture ideas before they're ready to become real campaigns or worlds. + +## Subfolders + +- **campaign-ideas/** — Premises, hooks, and concepts for future campaigns +- **world-ideas/** — Cool concepts, magic systems, or settings for future worlds +- **mechanics/** — Homebrew rules, class/race ideas, tables, or system tweaks diff --git a/players/README.md b/players/README.md new file mode 100644 index 0000000..40dfe3b --- /dev/null +++ b/players/README.md @@ -0,0 +1,15 @@ +--- +type: folder +--- + +# Players + +Player character sheets, backstories, and character arcs. PCs can be linked from campaigns they belong to and from worlds they're associated with. + +## Suggested Structure + +``` +players/ +├── character-name.md # Character sheet, backstory, notes +└── ... +``` diff --git a/worlds/README.md b/worlds/README.md new file mode 100644 index 0000000..4cc36ef --- /dev/null +++ b/worlds/README.md @@ -0,0 +1,25 @@ +--- +type: folder +--- + +# Worlds + +Each subfolder here is a distinct world/campaign setting. Worlds are reusable — multiple campaigns can take place in the same world across different eras or continents. + +## Structure for Each World + +``` +world-name/ +├── overview.md # Cosmology, history, tone, magic rules +├── geography/ # Continents, regions, kingdoms, maps +├── factions/ # Organizations, guilds, religions, orders +├── npcs/ # World-level NPCs (reusable across campaigns/eras) +├── lore/ # Myths, legends, major historical events +└── creatures/ # Homebrew monsters, regional ecology +``` + +## Getting Started + +1. Create a new folder for your world (e.g., `worlds/eldoria/`) +2. Create `overview.md` and fill in the basics +3. Add subfolders as needed for geography, factions, etc.