# Story Bible > **Your single source of truth for all story world information.** The Story Bible is a comprehensive reference system that helps you maintain consistency, track connections, and ensure continuity across your entire narrative. Every fact about your story world should be documented here. --- ## Structure Overview ``` 03-Story-Bible/ ├── _index.md # Master index and navigation ├── README.md # This file ├── CONSISTENCY.md # Continuity tracking checklist │ ├── 01-Characters/ # All characters │ ├── _index.md │ ├── character_grid.md # Quick reference table │ └── main_characters/ # Protagonist, antagonist, etc. │ ├── 01_character_template.md │ ├── 01_protagonist.md │ └── 02_antagonist.md │ └── supporting_characters/ # Secondary characters │ └── minor_characters/ # Background characters │ ├── 02-Locations/ # World geography │ ├── _index.md │ ├── regions/ │ │ └── 01_region_template.md │ ├── cities/ │ │ └── 01_city_template.md │ └── buildings/ │ └── 01_building_template.md │ ├── 03-Lore/ # World-building │ ├── _index.md │ ├── history/ │ │ └── 01_history_template.md │ ├── factions/ │ │ └── 01_faction_template.md │ └── rules.md # Magic, tech, physics, society │ ├── 04-Objects/ # Important items │ ├── _index.md │ ├── artifacts/ │ │ └── 01_artifact_template.md │ └── weapons/ │ └── 01_weapon_template.md │ ├── 05-Relationships/ # Connections │ ├── _index.md │ └── character_relationships.md │ ├── 06-Timeline/ # Chronology │ └── _index.md │ └── 07-Themes/ # Motifs and symbols └── _index.md ``` --- ## How to Use the Story Bible ### 1. Adding a New Character 1. **Copy the template:** ```bash cp 01-Characters/main_characters/01_character_template.md 01-Characters/main_characters/03_new_character.md ``` 2. **Fill in the YAML frontmatter first:** ```yaml --- id: unique_id name: Character Name slug: character-name type: protagonist|antagonist|ally|enemy|mentor status: active|draft|deceased|retired tags: [tag1, tag2] appearances: [chapter_1, chapter_5] related_characters: [character_a, character_b] --- ``` 3. **Complete the character sheet** with all known information 4. **Add to index files:** - Update `01-Characters/_index.md` - Update `01-Characters/character_grid.md` 5. **Create cross-links** from other relevant entries ### 2. Adding a New Location 1. **Choose the type:** Region, City, or Building 2. **Copy the appropriate template** 3. **Fill in details** including relationships to characters 4. **Add to Locations index** 5. **Link from character files** that use this location ### 3. Adding Lore - **Historical Events:** Copy template from `03-Lore/history/` - **Factions:** Copy template from `03-Lore/factions/` - **World Rules:** Edit `03-Lore/rules.md` ### 4. Maintaining Consistency - **After each writing session:** Update relevant Bible entries - **Before finalizing a chapter:** Run through `CONSISTENCY.md` checklist - **Weekly review:** Spend 15 minutes updating and verifying entries --- ## Key Features ### YAML Frontmatter Every entry starts with YAML metadata for easy filtering and searching: ```yaml --- id: unique_identifier name: Display Name slug: url-friendly-name type: category tags: [tag1, tag2, tag3] related_entities: [entity_a, entity_b] status: active|draft|archived created: "2024-01-01" updated: "2024-01-01" --- ``` ### Wiki-Links Use `[[Link Text|file-name]]` or `[[file-name]]` to create cross-references: ```markdown - **Current Owner:** [[John Doe]] - **Location:** [[Castle Black]] - **Related Event:** [[The War of Ashes|history/war_of_ashes]] ``` ### Mermaid Diagrams Create visual relationship maps and timelines: ````markdown ```mermaid graph LR A[John] -->|Brother| B[James] A -->|Mentor| C[Robert] ``` ```` ### Tables Use tables for structured data: ```markdown | Attribute | Value | |-----------|-------| | Age | 30 | | Gender | Male | ``` --- ## Best Practices ### 1. Start Simple - Begin with basic information - Add details as they become relevant - Don't over-document early drafts ### 2. Stay Current - Update entries immediately after writing scenes - Don't let the Bible fall behind - Small updates are easier than big ones ### 3. Use Cross-Links - Link characters to locations - Link locations to events - Link events to lore - This creates a web of knowledge ### 4. Tag Everything - Use consistent tags - Filter by tags when searching - Examples: `#protagonist`, `#capital`, `#magic`, `#war` ### 5. Review Regularly - Weekly: Quick scan for obvious issues - Monthly: Deep consistency check - Before publishing: Full verification --- ## Search Tips Use your editor's search feature: | Search Term | Finds | |-------------|-------| | `[[` | All cross-references | | `id:` | All YAML IDs | | `status:` | All status fields | | `tags:` | All tag lists | | `#tagname` | All entries with that tag | --- ## Tag Reference ### Character Tags `#protagonist` `#antagonist` `#ally` `#enemy` `#mentor` `#romantic` `#family` `#deceased` `#noble` `#commoner` `#warrior` `#mage` `#thief` ### Location Tags `#capital` `#city` `#village` `#fortress` `#tavern` `#temple` `#ruins` `#wilderness` `#underground` `#floating` `#magical` ### Lore Tags `#magic` `#technology` `#war` `#religion` `#politics` `#history` `#myth` `#legend` `#prophecy` `#culture` ### Object Tags `#legendary` `#cursed` `#blessed` `#sentient` `#destroyed` `#lost` `#stolen` `#royal` `#sacred` `#ancient` --- ## Tools Integration If your editor supports it: - **Obsidian:** Native backlink support, graph view, tag search - **VS Code:** Extensions for markdown preview and search - **Typora:** Clean preview with YAML support - **Any editor:** Basic search and replace works everywhere --- ## Example Workflow 1. **Write Chapter 5** where John visits Castle Black 2. **Update John's entry:** Add Castle Black to `related_locations` 3. **Update Castle Black entry:** Add John to `residents` or `visitors` 4. **Update Timeline:** Add "John visits Castle Black" event 5. **Check Consistency:** Verify travel time and castle description match 6. **Cross-link:** Ensure both entries link to each other --- ## Need Help? - Check `_index.md` files for navigation - Use `CONSISTENCY.md` for verification - Look at existing entries for examples - Refer to templates for required fields --- **Remember:** The Story Bible is a living document. Update it as you write, and it will save you hours of continuity fixing later.