diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 0000000..a683af5 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,49 @@ +# D&D campaign notes repository instructions + +This repository is the single source of truth for D&D notes across multiple campaigns, worlds, ideas, systems, and players. Prefer edits that preserve structure, reuse existing lore, and keep notes easy to navigate in Obsidian. + +## Core organization + +- Treat `worlds/` as reusable setting context: persistent lore, geography, factions, NPCs, history, and creatures. +- Treat `campaigns/` as story-specific overlays on a world: overviews, session notes, campaign-only NPCs, quests, items, and visited locations. +- Treat `ideas/` as scratch space for future campaigns, worlds, and mechanics. +- Treat `players/` as player-character material. +- Treat `systems/` as system references. + +## Relationship rules + +- Worlds are reusable context; campaigns are specific stories within them. +- Prefer linking to world notes from campaign notes instead of duplicating shared content. +- If a campaign-specific note changes or evolves a world-level person, faction, or location, create a campaign note that links back to the world note. +- World NPCs belong in `worlds//npcs/`; campaign NPCs belong in `campaigns//npcs/`. + +## File and folder conventions + +- Use lowercase with hyphens for folder names, for example `worlds/eldoria/` and `campaigns/shattered-crown/`. +- Use Title Case with spaces for note file names, for example `The Lost Artifact.md` and `Continent A.md`. +- Keep directory layouts consistent with the existing world and campaign structure. + +## Obsidian conventions + +- Use wiki-links for cross-note references, for example `[[worlds/Eldoria]]` or `[[campaigns/Shattered Crown/overview]]`. +- Keep frontmatter consistent when present so notes remain filterable and Dataview-friendly. +- Use consistent tags such as `#world`, `#campaign`, `#session`, `#npc`, `#location`, `#faction`, `#item`, `#quest`, `#homebrew`, and `#idea`. +- Use Obsidian callouts when helpful, especially: + - `> [!info]` for quick-reference blocks + - `> [!warning]` for spoilers or DM-only material + - `> [!tip]` for DM notes + +## Content expectations + +- Preserve the separation between player-facing content and DM-only secrets. +- Prefer `## Secrets` sections or warning callouts for spoiler material. +- When creating or updating notes, match the existing note style: + - World overviews include cosmology, geography, factions, and history timeline. + - Campaign overviews include premise, player characters, active quests, and session log. + - NPC notes include appearance, personality, goals and motivations, connections, and secrets. + +## Authoring guidance + +- Link related notes together instead of restating the same information. +- Keep metadata, naming, and section structure consistent with neighboring notes. +- When adding new world or campaign content, place it in the most specific folder that fits its scope. diff --git a/QWEN.md b/QWEN.md deleted file mode 100644 index 5e600d2..0000000 --- a/QWEN.md +++ /dev/null @@ -1,219 +0,0 @@ -# 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