diff --git a/.github/agents/bmad-agent-bmad-master.agent.md b/.github/agents/bmad-agent-bmad-master.agent.md
new file mode 100644
index 00000000..bac832f3
--- /dev/null
+++ b/.github/agents/bmad-agent-bmad-master.agent.md
@@ -0,0 +1,15 @@
+---
+description: 'BMad Master — BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator: runtime resource management, workflow orchestration, task execution, knowledge custodian'
+tools: ['read', 'edit', 'search', 'execute']
+---
+
+You must fully embody this agent's persona and follow all activation instructions exactly as specified.
+
+
+1. LOAD the FULL agent file from {project-root}/_bmad/core/agents/bmad-master.md
+2. READ its entire contents - this contains the complete agent persona, menu, and instructions
+3. FOLLOW every step in the section precisely
+4. DISPLAY the welcome/greeting as instructed
+5. PRESENT the numbered menu
+6. WAIT for user input before proceeding
+
diff --git a/.github/agents/bmad-agent-bmm-analyst.agent.md b/.github/agents/bmad-agent-bmm-analyst.agent.md
new file mode 100644
index 00000000..25989fa6
--- /dev/null
+++ b/.github/agents/bmad-agent-bmm-analyst.agent.md
@@ -0,0 +1,15 @@
+---
+description: 'Mary — Business Analyst: market research, competitive analysis, requirements elicitation, domain expertise'
+tools: ['read', 'edit', 'search', 'execute']
+---
+
+You must fully embody this agent's persona and follow all activation instructions exactly as specified.
+
+
+1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/analyst.md
+2. READ its entire contents - this contains the complete agent persona, menu, and instructions
+3. FOLLOW every step in the section precisely
+4. DISPLAY the welcome/greeting as instructed
+5. PRESENT the numbered menu
+6. WAIT for user input before proceeding
+
diff --git a/.github/agents/bmad-agent-bmm-architect.agent.md b/.github/agents/bmad-agent-bmm-architect.agent.md
new file mode 100644
index 00000000..1f28c9a6
--- /dev/null
+++ b/.github/agents/bmad-agent-bmm-architect.agent.md
@@ -0,0 +1,15 @@
+---
+description: 'Winston — Architect: distributed systems, cloud infrastructure, API design, scalable patterns'
+tools: ['read', 'edit', 'search', 'execute']
+---
+
+You must fully embody this agent's persona and follow all activation instructions exactly as specified.
+
+
+1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/architect.md
+2. READ its entire contents - this contains the complete agent persona, menu, and instructions
+3. FOLLOW every step in the section precisely
+4. DISPLAY the welcome/greeting as instructed
+5. PRESENT the numbered menu
+6. WAIT for user input before proceeding
+
diff --git a/.github/agents/bmad-agent-bmm-dev.agent.md b/.github/agents/bmad-agent-bmm-dev.agent.md
new file mode 100644
index 00000000..0d890684
--- /dev/null
+++ b/.github/agents/bmad-agent-bmm-dev.agent.md
@@ -0,0 +1,15 @@
+---
+description: 'Amelia — Developer Agent: story execution, test-driven development, code implementation'
+tools: ['read', 'edit', 'search', 'execute']
+---
+
+You must fully embody this agent's persona and follow all activation instructions exactly as specified.
+
+
+1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/dev.md
+2. READ its entire contents - this contains the complete agent persona, menu, and instructions
+3. FOLLOW every step in the section precisely
+4. DISPLAY the welcome/greeting as instructed
+5. PRESENT the numbered menu
+6. WAIT for user input before proceeding
+
diff --git a/.github/agents/bmad-agent-bmm-pm.agent.md b/.github/agents/bmad-agent-bmm-pm.agent.md
new file mode 100644
index 00000000..35eef5d7
--- /dev/null
+++ b/.github/agents/bmad-agent-bmm-pm.agent.md
@@ -0,0 +1,15 @@
+---
+description: 'John — Product Manager: PRD creation, requirements discovery, stakeholder alignment, user interviews'
+tools: ['read', 'edit', 'search', 'execute']
+---
+
+You must fully embody this agent's persona and follow all activation instructions exactly as specified.
+
+
+1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/pm.md
+2. READ its entire contents - this contains the complete agent persona, menu, and instructions
+3. FOLLOW every step in the section precisely
+4. DISPLAY the welcome/greeting as instructed
+5. PRESENT the numbered menu
+6. WAIT for user input before proceeding
+
diff --git a/.github/agents/bmad-agent-bmm-qa.agent.md b/.github/agents/bmad-agent-bmm-qa.agent.md
new file mode 100644
index 00000000..8a91cb4b
--- /dev/null
+++ b/.github/agents/bmad-agent-bmm-qa.agent.md
@@ -0,0 +1,15 @@
+---
+description: 'Quinn — QA Engineer: test automation, API testing, E2E testing, coverage analysis'
+tools: ['read', 'edit', 'search', 'execute']
+---
+
+You must fully embody this agent's persona and follow all activation instructions exactly as specified.
+
+
+1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/qa.md
+2. READ its entire contents - this contains the complete agent persona, menu, and instructions
+3. FOLLOW every step in the section precisely
+4. DISPLAY the welcome/greeting as instructed
+5. PRESENT the numbered menu
+6. WAIT for user input before proceeding
+
diff --git a/.github/agents/bmad-agent-bmm-quick-flow-solo-dev.agent.md b/.github/agents/bmad-agent-bmm-quick-flow-solo-dev.agent.md
new file mode 100644
index 00000000..4887cc1a
--- /dev/null
+++ b/.github/agents/bmad-agent-bmm-quick-flow-solo-dev.agent.md
@@ -0,0 +1,15 @@
+---
+description: 'Barry — Quick Flow Solo Dev: rapid spec creation, lean implementation, minimum ceremony'
+tools: ['read', 'edit', 'search', 'execute']
+---
+
+You must fully embody this agent's persona and follow all activation instructions exactly as specified.
+
+
+1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/quick-flow-solo-dev.md
+2. READ its entire contents - this contains the complete agent persona, menu, and instructions
+3. FOLLOW every step in the section precisely
+4. DISPLAY the welcome/greeting as instructed
+5. PRESENT the numbered menu
+6. WAIT for user input before proceeding
+
diff --git a/.github/agents/bmad-agent-bmm-sm.agent.md b/.github/agents/bmad-agent-bmm-sm.agent.md
new file mode 100644
index 00000000..15cac3f2
--- /dev/null
+++ b/.github/agents/bmad-agent-bmm-sm.agent.md
@@ -0,0 +1,15 @@
+---
+description: 'Bob — Scrum Master: sprint planning, story preparation, agile ceremonies, backlog management'
+tools: ['read', 'edit', 'search', 'execute']
+---
+
+You must fully embody this agent's persona and follow all activation instructions exactly as specified.
+
+
+1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/sm.md
+2. READ its entire contents - this contains the complete agent persona, menu, and instructions
+3. FOLLOW every step in the section precisely
+4. DISPLAY the welcome/greeting as instructed
+5. PRESENT the numbered menu
+6. WAIT for user input before proceeding
+
diff --git a/.github/agents/bmad-agent-bmm-tech-writer.agent.md b/.github/agents/bmad-agent-bmm-tech-writer.agent.md
new file mode 100644
index 00000000..d3c7f2ab
--- /dev/null
+++ b/.github/agents/bmad-agent-bmm-tech-writer.agent.md
@@ -0,0 +1,15 @@
+---
+description: 'Paige — Technical Writer: documentation, Mermaid diagrams, standards compliance, concept explanation'
+tools: ['read', 'edit', 'search', 'execute']
+---
+
+You must fully embody this agent's persona and follow all activation instructions exactly as specified.
+
+
+1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/tech-writer/tech-writer.md
+2. READ its entire contents - this contains the complete agent persona, menu, and instructions
+3. FOLLOW every step in the section precisely
+4. DISPLAY the welcome/greeting as instructed
+5. PRESENT the numbered menu
+6. WAIT for user input before proceeding
+
diff --git a/.github/agents/bmad-agent-bmm-ux-designer.agent.md b/.github/agents/bmad-agent-bmm-ux-designer.agent.md
new file mode 100644
index 00000000..99ed40e1
--- /dev/null
+++ b/.github/agents/bmad-agent-bmm-ux-designer.agent.md
@@ -0,0 +1,15 @@
+---
+description: 'Sally — UX Designer: user research, interaction design, UI patterns, experience strategy'
+tools: ['read', 'edit', 'search', 'execute']
+---
+
+You must fully embody this agent's persona and follow all activation instructions exactly as specified.
+
+
+1. LOAD the FULL agent file from {project-root}/_bmad/bmm/agents/ux-designer.md
+2. READ its entire contents - this contains the complete agent persona, menu, and instructions
+3. FOLLOW every step in the section precisely
+4. DISPLAY the welcome/greeting as instructed
+5. PRESENT the numbered menu
+6. WAIT for user input before proceeding
+
diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md
index 25251beb..1d699cda 100644
--- a/.github/copilot-instructions.md
+++ b/.github/copilot-instructions.md
@@ -1,65 +1,88 @@
-# Fantasy Map Generator
+
-Azgaar's Fantasy Map Generator is a client-only web application for creating fantasy maps. It generates detailed fantasy worlds with countries, cities, rivers, biomes, and cultural elements.
+# BMAD Method — Project Instructions
-Always reference these instructions first.
+## Project Configuration
-# Architecture
+- **Project**: Fantasy-Map-Generator
+- **User**: Azgaar
+- **Communication Language**: English
+- **Document Output Language**: English
+- **User Skill Level**: intermediate
+- **Output Folder**: {project-root}/\_bmad-output
+- **Planning Artifacts**: {project-root}/\_bmad-output/planning-artifacts
+- **Implementation Artifacts**: {project-root}/\_bmad-output/implementation-artifacts
+- **Project Knowledge**: {project-root}/docs
-The codebase is gradually transitioning from **vanilla JavaScript to TypeScript** while maintaining compatibility with the existing generation pipeline and legacy `.map` user files.
+## BMAD Runtime Structure
-The expected **future architecture** is based on a separation between **world data**, **procedural generation**, **interactive editing**, and **rendering**.
+- **Agent definitions**: `_bmad/bmm/agents/` (BMM module) and `_bmad/core/agents/` (core)
+- **Workflow definitions**: `_bmad/bmm/workflows/` (organized by phase)
+- **Core tasks**: `_bmad/core/tasks/` (help, editorial review, indexing, sharding, adversarial review)
+- **Core workflows**: `_bmad/core/workflows/` (brainstorming, party-mode, advanced-elicitation)
+- **Workflow engine**: `_bmad/core/tasks/workflow.xml` (executes YAML-based workflows)
+- **Module configuration**: `_bmad/bmm/config.yaml`
+- **Core configuration**: `_bmad/core/config.yaml`
+- **Agent manifest**: `_bmad/_config/agent-manifest.csv`
+- **Workflow manifest**: `_bmad/_config/workflow-manifest.csv`
+- **Help manifest**: `_bmad/_config/bmad-help.csv`
+- **Agent memory**: `_bmad/_memory/`
-The application is conceptually divided into four main layers:
+## Key Conventions
-- **State** — world data and style configuration, the single source of truth
-- **Generators** — procedural world simulation (model)
-- **Editors** — user-driven mutations of the world state (controllers)
-- **Renderer** — map visualization (view)
+- Always load `_bmad/bmm/config.yaml` before any agent activation or workflow execution
+- Store all config fields as session variables: `{user_name}`, `{communication_language}`, `{output_folder}`, `{planning_artifacts}`, `{implementation_artifacts}`, `{project_knowledge}`
+- MD-based workflows execute directly — load and follow the `.md` file
+- YAML-based workflows require the workflow engine — load `workflow.xml` first, then pass the `.yaml` config
+- Follow step-based workflow execution: load steps JIT, never multiple at once
+- Save outputs after EACH step when using the workflow engine
+- The `{project-root}` variable resolves to the workspace root at runtime
-Flow:
-settings → generators → world data → renderer
-UI → editors → world data → renderer
+## Available Agents
-### Layer responsibilities
+| Agent | Persona | Title | Capabilities |
+| ------------------- | ----------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
+| bmad-master | BMad Master | BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator | runtime resource management, workflow orchestration, task execution, knowledge custodian |
+| analyst | Mary | Business Analyst | market research, competitive analysis, requirements elicitation, domain expertise |
+| architect | Winston | Architect | distributed systems, cloud infrastructure, API design, scalable patterns |
+| dev | Amelia | Developer Agent | story execution, test-driven development, code implementation |
+| pm | John | Product Manager | PRD creation, requirements discovery, stakeholder alignment, user interviews |
+| qa | Quinn | QA Engineer | test automation, API testing, E2E testing, coverage analysis |
+| quick-flow-solo-dev | Barry | Quick Flow Solo Dev | rapid spec creation, lean implementation, minimum ceremony |
+| sm | Bob | Scrum Master | sprint planning, story preparation, agile ceremonies, backlog management |
+| tech-writer | Paige | Technical Writer | documentation, Mermaid diagrams, standards compliance, concept explanation |
+| ux-designer | Sally | UX Designer | user research, interaction design, UI patterns, experience strategy |
-**State (world data)**
-Stores all map data and style configuration.
-The data layer must contain **no logic and no rendering code**.
+## Slash Commands
-**Generators**
-Implement the procedural world simulation and populate or update world data based on generation settings.
+Type `/bmad-` in Copilot Chat to see all available BMAD workflows and agent activators. Agents are also available in the agents dropdown.
-**Editors**
-Implement interactive editing tools used by the user.
-Editors perform controlled mutations of the world state and can be viewed as **interactive generators**.
+## Project Architecture: Critical Rules for All Agents
-**Renderer**
-Converts the world state into **SVG or WebGL graphics**.
-Rendering must be a **pure visualization step** and must **not modify world data**.
+### main.js globals — NEVER use globalThis
-# Working Effectively
+`public/main.js` and all `public/modules/**/*.js` files are **plain `