{"id":47243790,"url":"https://github.com/nisakson2000/dnd-tracker","last_synced_at":"2026-04-01T22:34:17.875Z","repository":{"id":343135010,"uuid":"1176394496","full_name":"nisakson2000/dnd-tracker","owner":"nisakson2000","description":"D\u0026D 5e Campaign Character Tracker — a local React + FastAPI web app for managing characters, spells, inventory, combat, journal, and more. Built-in PHB rules, beginner-friendly tooltips, and onboarding wizard.","archived":false,"fork":false,"pushed_at":"2026-03-17T04:34:09.000Z","size":21175,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-17T19:13:46.737Z","etag":null,"topics":["character-tracker","claude-code","dnd","dnd-5e","fastapi","javascript","python","react","sqlite","tailwindcss"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nisakson2000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-09T01:21:35.000Z","updated_at":"2026-03-17T04:28:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nisakson2000/dnd-tracker","commit_stats":null,"previous_names":["nisakson2000/dnd-tracker"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/nisakson2000/dnd-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisakson2000%2Fdnd-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisakson2000%2Fdnd-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisakson2000%2Fdnd-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisakson2000%2Fdnd-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nisakson2000","download_url":"https://codeload.github.com/nisakson2000/dnd-tracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisakson2000%2Fdnd-tracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["character-tracker","claude-code","dnd","dnd-5e","fastapi","javascript","python","react","sqlite","tailwindcss"],"created_at":"2026-03-14T03:15:21.200Z","updated_at":"2026-04-01T22:34:17.866Z","avatar_url":"https://github.com/nisakson2000.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Codex — D\u0026D Companion App\n\n**Current Version: V0.8.6**\n\nA native desktop application for managing D\u0026D 5e characters with full ruleset support, a 2,000+ article encyclopedia, real-time multiplayer sessions, Player/DM modes, and everything you need to play — no account, no internet, no subscriptions. Built with React + Tauri 2 (Rust).\n\n## Features\n\n### Player/DM Mode System\n- **Mode Selection** — choose Player or DM mode on launch with animated role picker\n- **DM Campaign Engine** — create campaigns, manage scenes, run live sessions with WebSocket multiplayer sync\n- **Campaign Type System** — choose Homebrew or Premade on creation; sidebar filters tools accordingly\n- **Campaign Export/Import/Archive** — download campaigns as JSON, import them back, or soft-archive without deleting\n- **DM Lobby** — campaign HQ with scenes, session recap, handouts, quest generator, player connections\n- **DM Live Session** — initiative tracker, round manager, action log, chat, timer, scene management\n- **Player Join Flow** — enter DM IP + room code, select character, wait for approval\n- **Player Session View** — see active scene, initiative, chat, roll dice, receive handouts, take actions\n- **D\u0026D Beyond Import** — multi-step import wizard for D\u0026D Beyond JSON character exports\n\n### V4 Campaign Engine (DM↔Player Sync)\n- **Accurate Multiplayer Rolls** — player prompts auto-detect proficiency, expertise, ability modifiers, and item bonuses from character snapshot\n- **Full Data Sync** — conditions, HP, rest, loot, XP, spell slots, and 22+ event types synced between DM and players in real-time\n- **Player Combat HUD** — tabbed interface with Attack, Spell, Items, and Features tabs during combat turns\n- **Death Save System** — dramatic d20 roll overlay with nat 1/nat 20 handling, 3 success/failure tracking\n- **Concentration Tracking** — auto-sends CON save on damage to concentrating player, auto-drops on fail\n- **Shared Combat Log** — all players see attacks, damage, kills, and spell casts in real-time feed\n- **Turn Notifications** — audio chime, window title flash, gold banner when it's your turn\n- **Equipment Selection** — players choose weapons/armor before combat starts\n- **Expanded Snapshots** — equipped weapons, spell slots, features, currency, death saves, and more synced to DM\n\n### NPC Intelligence \u0026 Decision Engines\n- **Personality Archetypes** — 8 archetypes (Schemer, Guardian, Merchant, Zealot, Outcast, Sage, Trickster, Noble) with auto-populated traits\n- **34 Personality Traits** — toggle traits that shape NPC behavior predictions\n- **Trust System** — -100 to +100 trust score with 7 labeled tiers (Sworn Enemy to Unbreakable Bond)\n- **NPC Memory** — memories with intensity, decay rate, and emotional impact; traumatic memories never fade\n- **Behavior Prediction** — live preview of how NPCs respond to 7 situation types based on personality\n- **Combat AI** — intelligence-tiered tactics (Mindless to Genius) with 6 personality combat styles\n- **Monster AI Profiles** — 7 behavior profiles (Pack, Ambush, Territorial, Mindless, Intelligent, Swarm, Boss)\n- **Boss Phase System** — 3 HP-based phases with escalating abilities and tactics\n- **Consequence Engine** — action-to-consequence templates with DM approval workflow\n- **Dynamic Merchant Pricing** — location, trust, faction, demand, and economy modifiers with haggling system\n- **NPC Form Overhaul** — 3-tab NPC editor (Basics, Intelligence \u0026 Behavior, Combat) in campaign builder\n\n### Story \u0026 Narrative Systems\n- **Story Threads** — plotlines with states (Dormant, Discovered, Investigating, Confrontation, Resolved)\n- **Story Branches** — decision points with branching outcomes and consequence tracking\n- **Villain Profiles** — phase-based villain behavior, adaptations that counter party tactics, master plans\n- **Campaign Arcs** — high-level narrative arcs linking quests, NPCs, and story threads\n- **Campaign History Archive** — unified event log with category filtering, session grouping, and bookmarking\n- **Campaign Secrets** — secret tracking with reveal conditions, known-by lists, and narrative impact ratings\n\n### Advanced World Systems\n- **Investigation Clues** — clue networks with red herrings, discovery DCs, and mystery grouping\n- **Rumor Propagation** — rumors that spread, distort over time, and expire\n- **World Crises** — escalating crises with severity levels and resolution conditions\n- **Artifact Evolution** — sentient items that level up, gain abilities, and develop personality\n- **Difficulty Scaling** — real-time combat assessment with DM suggestions when encounters are too easy/hard\n- **Skill Check Resolver** — full skill check engine with proficiency, expertise, conditions, and advantage\n- **Faction System** — faction relations, party reputation, military/wealth/influence tracking\n- **Weather \u0026 Economy** — regional weather effects and dynamic economy with trade goods\n\n### DM Session Tools\n- **Character Arc Manager** — track character arcs (hooks, development, complications, climax, resolution)\n- **Handouts Manager** — create and reveal handouts to players with visibility toggle\n- **Monster Panel** — search SRD monsters, add to encounter, track HP/damage/conditions\n- **Quest Generator** — AI-powered quest generation via Ollama (party level, setting, theme)\n- **Session Recap** — AI-powered session summary generator + auto-generated recap from action log\n- **World State Manager** — track world state by category (politics, geography, events, factions)\n- **DM Name Display** — DM name collected on campaign creation, shown to joining players\n- **Cover System** — half/three-quarter/full cover toggles per combatant with AC modifiers\n- **Mood/Music Sync** — 7 scene moods + 9 ambient sounds synced to players with visual overlays\n- **Consequence System** — one-click damage, conditions, item/gold loss on failed checks\n- **Travel Calculator** — distance, speed, terrain inputs with encounter rolls per travel day\n- **Random Encounter** — quick-start mid-scene encounters with monster picker\n- **Legendary \u0026 Lair Actions** — pip tracking and lair action reminders for boss fights\n\n### Character Sheet\n- **Accurate Dice Modifiers** — all rolls include ability modifiers, proficiency, expertise, item stat bonuses, save bonuses, and condition effects per 5e RAW\n- **Advantage/Disadvantage** — full support including 5e cancellation rule (both = normal roll)\n- **Item Bonuses in Rolls** — equipped items with stat modifiers (e.g., Belt of Giant Strength +2 STR) auto-apply to all related rolls\n- **Save Bonuses** — items like Cloak of Protection auto-add to all saving throws with \"(+N from items)\" indicator\n- **Magic Item Properties** — weapons/armor track magic bonus (+1/+2/+3), extra damage dice, save bonuses, and special properties\n- **HP Undo** — 10-second undo window after applying damage or healing to reverse accidental changes\n- **Dice Rolling on Stats** — hover any ability score, saving throw, or skill to reveal dice icon; click to roll\n- **Floating Dice Roller** — accessible from any page via floating button (bottom-right), no longer a sidebar section\n- Ability Scores, Saving Throws, Skills (proficiency + expertise), HP tracking with color-coded bar\n- **Death Saving Throw UI** — visual tracker with 3 success/3 failure clickable circles\n- **Proficiency Bonus Display** — prominent gold-accented card\n- **Passive Skills** — Perception, Investigation, Insight (10 + skill mod)\n- **Initiative Modifier** — DEX mod shown with breakdown tooltip\n- **AC Breakdown** — hover to see base 10 + DEX mod calculation\n- **Concentration Save Helper** — auto-reminds DC when HP drops while concentrating\n- **Encumbrance Speed Warning** — -10 ft / -20 ft badges on speed display\n- Inspiration, Exhaustion (ruleset-aware: 6 or 10 levels), XP Progress Bar, Multiclass Display\n- Automatic Condition Effects — active conditions auto-apply speed, save, and attack penalties\n\n### Character Setup Wizard\n- Guided post-creation setup: Ability Scores (Point Buy / Standard Array / Roll), Background, Auto-Apply, Skills, Review\n- **Starting Equipment** — auto-adds class-appropriate gear and starting gold to inventory on character creation\n- Supports both 5e-2014 and 5e-2024 rulesets\n\n### Spellbook\n- Spell Slot Tracking, Prepared Spells, Spellcasting Stats auto-calculated\n- **Concentration Tracking** — click C badge to concentrate, warns on switch, CON save reminder\n- **Ritual Casting** — prominent badge with tooltip, blue-tinted border on ritual spells\n- **Always-Prepared Spells** — lock icon for domain/oath spells that can't be unprepared\n- **Cantrip Scaling Display** — damage scaling tiers with current tier highlighted\n- **Material Component Costs** — gold coin icon for expensive material components\n- Third-Caster Support (Eldritch Knight, Arcane Trickster), Warlock Pact Magic\n\n### Combat Tracker\n- **Full Initiative Round Manager** — round counter, current turn highlighting, Next/Previous Turn\n- **Action Economy Tracker** — Action, Bonus Action, Reaction checkboxes (reset each turn)\n- **Attack Roll Buttons** — instant d20 + bonus + damage with crit detection and gold/red animations\n- **Flanking Toggle** — +2 to attack rolls when enabled\n- **Combat Log** — auto-logs attacks, conditions, rounds; 50 entries, color-coded\n- **Condition Duration Timers** — \"Next Round\" auto-decrements and auto-expires\n- 15 D\u0026D conditions with automatic mechanical effects\n\n### Features \u0026 Traits\n- **Uses/Charges Tracking** — visual charge circles with recharge types\n- **Rest-Based Restore** — separate Short Rest / Long Rest restore with feature counts\n- **Category Summary** — class features, racial traits, feats, and charges at a glance\n- **Low Charges Warning** — amber pulsing border at 1 use remaining\n\n### Dice Roller\n- **Animated Dice** — tumbling animation on roll, d6 pip faces, shake-on-hover buttons\n- **Particle Effects** — gold sparkle burst on nat 20, red shatter on nat 1\n- **Saved Roll Macros** — save up to 20 frequently used rolls, one-click re-roll\n- Quick-roll buttons (d4–d100), custom expressions, advantage/disadvantage\n- Roll labels, persistent history, 4d6kh3 stat roller, statistics panel\n\n### NPCs\n- **Quick-Create Templates** — 6 archetype presets (Tavern Keeper, Wise Sage, Shady Merchant, etc.)\n- **Random Name Generator** — one-click fantasy name picker from 26 names\n- **Race \u0026 Class Dropdowns** — autocomplete suggestions for 16 races and 20 classes/occupations\n- **Relationship Tracker** — Friendly/Neutral/Hostile/Rival/Patron/Unknown with colored badges\n- **Quest Hooks** — optional quest hook field with scroll icon\n- Role-colored avatars with initials, status tracking, descriptions, notes, locations\n\n### Quests\n- **Quick Templates** — 8 presets (Bounty Hunt, Rescue Mission, Dungeon Delve, Investigation, etc.) with pre-filled objectives\n- **Suggested Objectives** — clickable chips for common quest objectives\n- **Reward Tracking** — XP, Gold, Item rewards with icons and active-quest totals\n- **Quest Giver \u0026 Location** — displayed with user/map-pin icons\n- **Priority System** — Low/Medium/High/Critical with color-coded indicators\n- Objectives with progress bars, difficulty ratings, failed quest section\n\n### Inventory\n- **Magic Item Properties** — track magic bonus (+1/+2/+3), extra damage dice, save bonuses, and special properties on weapons/armor/wondrous items\n- **Currency Auto-Conversion** — consolidate all denominations to GP\n- **Encumbrance Speed Penalties** — detailed penalty display below carry weight\n- **Consumable Warnings** — red \"LOW\" indicator at quantity ≤ 3\n- **Enter Key Submit** — press Enter to submit item forms quickly\n- 40+ preloaded weapons/armor, currency tracking, attunement (max 3)\n\n### Journal\n- **Session Summary Stats** — entry count, session count, date range\n- **NPC Mentions** — tag NPCs in entries, shown as blue badges\n- **Pin Important Entries** — star toggle to pin entries to top\n- Markdown editor, mood tagging, fullscreen reading mode, export to TXT\n\n### Lore \u0026 World Notes\n- **Quick Templates** — 6 structured note templates (Town/City, Dungeon, Faction, Legend/Myth, etc.) with markdown sections\n- **Category Presets** — Location, Faction, Deity, History, Magic, Creature, Item\n- **Related Entries** — cross-references between lore entries\n- **Entry Type Icons** — category-aware icons (MapPin, Users, Star, etc.)\n\n### Sidebar \u0026 Navigation\n- **Pinned Sections** — star up to 5 favorite sections to top of sidebar\n- **Section Search** — filter sidebar sections by typing\n- Mode-aware navigation (Player vs DM section groups)\n\n### Dashboard\n- **Import Existing Character** — import a previously exported JSON character file as a new entry from the Dashboard\n- **Character Duplicate** — copy a character as a template\n- **Quick Stats Bar** — total characters, average level, most played class\n- **Character Search** — filter by name, race, or class\n\n### Backstory\n- **Portrait Upload** — drag-and-drop character portrait (PNG/JPEG/WebP/GIF, max 2 MB)\n- Personality Traits, Bonds, Flaws, Ideals, Physical Description, Goals, Allies\n\n### AI Assistant (Optional)\n- **Arcane Advisor** — AI-powered D\u0026D companion running entirely on your machine via Ollama\n- **Wiki-powered responses** — searches the 1,900+ article SRD encyclopedia before every query for accurate D\u0026D 5e answers\n- **Brief and focused** — answers in 1-3 sentences with token cap and low temperature\n- **Floating ArcaneWidget** — context-aware mini-chat available on all sections, not just the AI tab\n- **All communication through Rust backend** — bypasses WebKitGTK CSP restrictions on Linux\n- Streaming responses with real-time token display via Tauri Channel API\n- Completely optional — disabled by default, zero performance impact when off\n- Uses phi3.5 model (~2.2GB) — auto-downloads when AI is enabled\n\n### Dev Tools (Ctrl+Shift+D)\n- **DB Inspector** — browse tables, run raw SQL queries\n- **Git Panel** — status, stage, commit, push, pull, diff, branch info, stash, session summary\n- **LAN Dev Chat** — real-time messaging between devs on the same network via UDP broadcast\n- **IPC Logger** — monitor all Tauri invoke calls with timing\n- **Environment Check** — verify system dependencies and config\n- **Schema Migration Runner** — run DB migrations from the panel\n- **Feature Flags** — 7 toggleable dev flags\n- **Performance Overlay** — FPS and render timing\n- **Log Viewer** — frontend error log stream\n- **Bug Report Generator** — collect system info, logs, and DB state into a report\n- **Test Character Generator** — create pre-filled characters for testing\n\n### Battle Map\n- **Interactive Tactical Grid** — grid-based map with token placement, conditions, and environmental drawing tools\n\n### Calendar (Harptos)\n- **Fantasy Calendar** — full Forgotten Realms Harptos calendar with festivals, seasons, and day/year tracking\n\n### Downtime Activities\n- **Activity Tracker** — crafting, training, research, business operations, and carousing with skill checks and gold tracking\n\n### Encounter Builder\n- **Balanced Encounters** — design encounters by CR, party level, and difficulty using XP thresholds and monster stat tables\n\n### Homebrew Builder\n- **Custom Content** — create and manage custom monsters, spells, and magic items with full stat blocks and validation\n\n### Party Analyzer\n- **Composition Analysis** — analyze party roles, abilities, darkvision, AC, HP, and encounter difficulty recommendations\n\n### Party Loot\n- **Shared Treasure** — track party gold, distribute coins/items, rarity sorting, and audit log\n\n### Soundboard\n- **Procedural Ambient Audio** — Web Audio API ambient channels: tavern, combat, forest, dungeon, storm, ocean, camp, and city\n\n### Feature Request\n- **In-App Feedback** — submit structured feature requests with category, title, description, and auto-generated request IDs\n\n### Session Monitor (Background Error Reporter)\n- **Automatic crash reporting** — captures uncaught errors, promise rejections, and console errors in the background\n- **Batched GitHub uploads** — errors queued and submitted as GitHub Issues every 5 minutes\n- **Rate-limited \u0026 deduplicated** — max 1 auto-report per 10 minutes, identical errors merged\n- **Session context** — reports include app version, OS, screen size, stack traces, and timestamps\n\n### In-Character Chat\n- **Floating Chat Panel** — IC and OOC modes with class-colored names\n- **/roll Command** — type `/roll 2d6+3` inline to roll and share results\n- **Persistent History** — last 50 messages saved per room in localStorage\n\n### Keyboard Shortcuts\n- **Section Navigation** — Ctrl+1 through Ctrl+9 for quick section switching\n- **Quick Actions** — Ctrl+R (quick roll d20), Ctrl+K (search sections), Ctrl+D (dice), Ctrl+S (save)\n- **Shortcuts Help** — press `?` to see all available shortcuts\n- **Sidebar Hints** — shortcut labels shown next to each section name\n\n### Combat Stats Dashboard\n- **Session Statistics** — damage dealt/taken, hit rate %, critical hits, kills, healing done\n- **Highest Damage** — tracks your biggest single hit\n- **Session Duration** — elapsed time since session start\n\n### PDF \u0026 Print Export\n- **PDF Character Export** — generates a print-ready character sheet in a new window\n- **Print Stylesheet** — clean black \u0026 white print layout, hides UI chrome\n- **Text Export** — plain text character sheet for clipboard\n\n### Mobile \u0026 Responsive\n- **Touch-Friendly** — 44px minimum touch targets, no sticky hover states\n- **Responsive Breakpoints** — layouts adapt at 768px and 480px\n- **Full-Screen Modals** — modals fill screen on mobile devices\n\n### Additional Features\n- Arcane Encyclopedia — 2,000+ article searchable wiki with FTS5, grid/list views, keyboard shortcuts, cross-ref hover previews, drop cap typography\n- Community Campaigns — browse and import adventures from the 5etools homebrew repository with quest count and estimated completion time\n- Party Connect — LAN sync with room codes, auto-reconnect, DM party stats overview, persistent connection across navigation\n- In-Character Chat — floating IC/OOC chat with /roll commands and class-colored names\n- Offline Action Queue — queues actions when disconnected, replays on reconnect\n- Exhaustion Auto-Effects — levels 1-6 with auto-applied penalties and warning banners\n- Grapple \u0026 Shove — special combat actions with contested Athletics checks\n- Cover System — half/three-quarter/full cover with AC modifiers synced to players\n- Mood \u0026 Music Sync — DM sets scene mood with colored vignette overlays and ambient audio for players\n- Session Crash Recovery — periodic session snapshots with recovery banner on reconnect\n- Auto-Encumbrance Warnings — weight checks after adding items\n- Smart Loot Tables — CR-based treasure generation for encounters\n- Quick NPC Generator — random name, race, occupation, and personality traits\n- Auto-Populate Character Stats — one-click fill of HP, saves, speed from class and race\n- Multiclass Support — editable secondary class with combined spell slot computation\n- LAN Dev Presence — UDP broadcast peer discovery with version-aware sync\n- Update Detection — checks for updates on launch, banner with one-click \"UPDATE NOW\" and reload\n- Rest Mechanics (Long/Short Rest with proper D\u0026D rules, Warlock short rest slot recovery)\n- Level-Up System with animated overlay, class-specific gains, and auto-detection\n- Frontend error logging — console errors, unhandled exceptions, and promise rejections captured to log file\n- 6 UI Themes, font/density controls, auto-save, auto-backup, crash recovery\n- Beginner Tutorial Wizard, contextual help tooltips\n\n## AI Assistant (Optional)\n\nThe app includes an optional AI assistant that runs entirely on your machine.\n\n### Requirements\n- [Ollama](https://ollama.ai) installed and running\n- At least 4GB of free RAM\n- Model: phi3.5 (~2.2GB RAM) — auto-downloaded when you enable AI\n\n### Setup\n1. Install Ollama from https://ollama.ai\n2. Start Ollama (it runs as a background service)\n3. In the app, go to Settings → AI Assistant → Enable\n4. The app will automatically download phi3.5 if not already installed\n\n### How It Works\n- All Ollama communication is routed through the Rust backend (required for Linux/WebKitGTK compatibility)\n- Before every query, the app searches its 1,900+ article wiki for relevant D\u0026D 5e content and includes it in the prompt\n- Responses are capped at 128 tokens with low temperature (0.3) for brief, accurate answers\n- A floating chat widget (ArcaneWidget) is available on all sections for quick questions\n\n### Performance Note\nOn CPU-only hardware (no dedicated GPU), expect response times of 5–15 seconds.\nThis is normal. The assistant runs fully offline — no data leaves your machine.\n\n### Privacy\nAll conversation data stays on your machine. Nothing is sent to any external service.\nThe assistant uses the app's built-in wiki for D\u0026D 5e reference.\n\n## Requirements\n\n| Dependency | Version | Notes |\n|---|---|---|\n| **Node.js** | 18+ (LTS recommended) | [nodejs.org](https://nodejs.org/) |\n| **Rust** | stable (latest) | [rustup.rs](https://rustup.rs/) |\n| **Cargo** | comes with Rust | Package manager for Rust |\n\n### Windows Additional\n- **VS Build Tools** — \"Desktop development with C++\" workload ([Download](https://visualstudio.microsoft.com/visual-cpp-build-tools/))\n- **WebView2** — pre-installed on Windows 10/11 ([Microsoft](https://developer.microsoft.com/en-us/microsoft-edge/webview2/) if missing)\n\n### Linux Additional (Ubuntu/Debian)\n```bash\nsudo apt update \u0026\u0026 sudo apt install -y \\\n  libwebkit2gtk-4.1-dev build-essential curl wget file \\\n  libssl-dev libayatana-appindicator3-dev librsvg2-dev \\\n  libgtk-3-dev libsoup-3.0-dev libjavascriptcoregtk-4.1-dev\n```\n\n### Linux Additional (Fedora)\n```bash\nsudo dnf install -y \\\n  webkit2gtk4.1-devel openssl-devel curl wget file \\\n  libappindicator-gtk3-devel librsvg2-devel \\\n  gtk3-devel libsoup3-devel javascriptcoregtk4.1-devel\n```\n\n## Installation\n\n### Quick Start (All Platforms)\n\n```bash\ngit clone https://github.com/nisakson2000/dnd-tracker.git\ncd dnd-tracker\nnpm install\ncd frontend \u0026\u0026 npm install \u0026\u0026 cd ..\nnpm run tauri dev\n```\n\n### Windows Step-by-Step\n\n1. **Install Node.js** — [nodejs.org](https://nodejs.org/) (LTS, 18+)\n2. **Install Rust** — `winget install Rustlang.Rustup` or [rustup.rs](https://rustup.rs/)\n3. **Install VS Build Tools** — [Download](https://visualstudio.microsoft.com/visual-cpp-build-tools/), check \"Desktop development with C++\"\n4. **Clone and install:**\n   ```powershell\n   git clone https://github.com/nisakson2000/dnd-tracker.git\n   cd dnd-tracker\n   npm install\n   cd frontend \u0026\u0026 npm install \u0026\u0026 cd ..\n   ```\n5. **Run:** `npm run tauri dev`\n\n### Linux (Ubuntu/Debian)\n\n1. **System dependencies:**\n   ```bash\n   sudo apt update \u0026\u0026 sudo apt install -y \\\n     libwebkit2gtk-4.1-dev build-essential curl wget file \\\n     libssl-dev libayatana-appindicator3-dev librsvg2-dev \\\n     libgtk-3-dev libsoup-3.0-dev libjavascriptcoregtk-4.1-dev\n   ```\n2. **Node.js 18+:**\n   ```bash\n   curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -\n   sudo apt install -y nodejs\n   ```\n3. **Rust:**\n   ```bash\n   curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n   source \"$HOME/.cargo/env\"\n   ```\n4. **Clone and install:**\n   ```bash\n   git clone https://github.com/nisakson2000/dnd-tracker.git\n   cd dnd-tracker \u0026\u0026 npm install \u0026\u0026 cd frontend \u0026\u0026 npm install \u0026\u0026 cd ..\n   ```\n5. **Run:** `npm run tauri dev`\n\n### Linux (Fedora)\n\n1. **System dependencies:**\n   ```bash\n   sudo dnf install -y \\\n     webkit2gtk4.1-devel openssl-devel curl wget file \\\n     libappindicator-gtk3-devel librsvg2-devel \\\n     gtk3-devel libsoup3-devel javascriptcoregtk4.1-devel\n   ```\n2. **Node.js 18+:**\n   ```bash\n   sudo dnf install -y nodejs\n   ```\n3. **Rust:**\n   ```bash\n   curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n   source \"$HOME/.cargo/env\"\n   ```\n4. **Clone and install:**\n   ```bash\n   git clone https://github.com/nisakson2000/dnd-tracker.git\n   cd dnd-tracker \u0026\u0026 npm install \u0026\u0026 cd frontend \u0026\u0026 npm install \u0026\u0026 cd ..\n   ```\n5. **Run:** `npm run tauri dev`\n\n## Running\n\n```bash\n# Development (hot reload)\nnpm run tauri dev\n\n# Production build\nnpm run tauri build\n# Output: src-tauri/target/release/bundle/ (.msi/.exe on Windows, .deb/.AppImage on Linux)\n```\n\n## Architecture\n\n- Per-character SQLite databases with auto-migration\n- Campaign database (campaigns.db) — scenes, encounters, monsters, handouts, character arcs, world state\n- Shared wiki.db (2,000+ articles, FTS5 full-text search)\n- Frontend: React 19 + Vite 7 + TailwindCSS v4 + Framer Motion\n- Backend: Tauri 2 (Rust) + rusqlite via IPC commands\n- WebSocket multiplayer sync (port 7878) for real-time DM↔Player sessions\n- LAN Dev Sync: UDP broadcast presence + chat on port 8799\n- Pluggable rulesets (5e-2014 / 5e-2024) via React Context\n- Auto-save (debounced 800ms), auto-backup every 5 minutes\n\n## Tech Stack\n\n| Layer | Technology |\n|---|---|\n| Frontend | React 19, Vite 7, TailwindCSS v4, Framer Motion |\n| Backend | Tauri 2 (Rust), rusqlite, warp, tokio |\n| Database | SQLite (per-character) + campaigns.db + wiki.db (FTS5) |\n| Networking | WebSocket multiplayer sessions (warp), LAN party sync, UDP dev presence |\n| AI (optional) | Ollama (phi3.5), reqwest streaming |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnisakson2000%2Fdnd-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnisakson2000%2Fdnd-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnisakson2000%2Fdnd-tracker/lists"}