dndgo is a terminal user interface and a command line application for Dungeons and Dragons built to make managing characters easier, and searching dnd info with the 5e-srd-api.
Configure your character, and this application will handle tracking your mods, bonuses, and class details. If your class has an ability that modifies your characters stats, it is handled for you by dndgo. You can also use the application to track your characters health, spell slots, and class specific slots (like bardic inspiration or rage). It will only apply class bonuses available to your class at your current level. This information is formatted for you in markdown, or rendered for you in a stateful terminal interface using bubbletea.
If you have golang installed
go install github.com/onioncall/dndgo@latest
or to build from source (v 1.21 or later)
git clone https://github.com/onioncall/dndgo.git
cd dndgo
go build -o dndgo
sudo mv dndgo /usr/local/bin/x86_64 (Intel/AMD 64-bit)
curl -LO https://github.com/onioncall/dndgo/releases/download/v0.2.0/dndgo_Linux_x86_64.tar.gz
tar -xzf dndgo_Linux_x86_64.tar.gz
sudo mv dndgo /usr/local/bin/Apple Silicon (M1/M2/M3)
curl -LO https://github.com/onioncall/dndgo/releases/download/v0.2.0/dndgo_Darwin_arm64.tar.gz
tar -xzf dndgo_Darwin_arm64.tar.gz
sudo mv dndgo /usr/local/bin/
# Don't do the following step unless you trust this applciation, I don't pay apple $99.99 a year for a developer account to sign these binaries
xattr -d com.apple.quarantine /usr/local/bin/dndgoDownload dndgo_Windows_x86_64.zip
Extract the zip file
Move dndgo.exe to a folder in your PATH (e.g., C:\Windows\System32)
Once you have installed it, run dndgo -v to verify your installation version.
Hopefully we can get this in package managers if we ever get more than half a dozen people using this.
Character management has tabs for basic info, spells, equipment, class info, and help for how to use the tui. Actions can be performed on the character like damage, recovering health, adding items, using spell slots and more. Detailed information on these commands can be found in the docs/tui directory.
example
dndgo-manage-12.20.25.mov
Use tab and shift tab to navigate tabs or /s, /m, /e, /f in the search field to switch directly to a tab.
You can enter a search term after the command to search in a specific tab without navigating to it first.
ctrl+s will toggle the search field
example
dndgo-search-12.14.25.mov
If manually modifying json sounds exhausting to you, you can setup your character with the tui.
example
Example pending, for now you'll have to take my word for it or try it yourself!
You can use the CLI to directly make changes to the characters state (like health, items, spell slots, etc) as well as rendering out a markdown file with your character information, like in the example below
We recommend using the tui for this, but if you'd prefer, it can technically be done via cli.
- run
dndgo ctr init -c <class-name> -n <character-name> - export and modify your character details
dndgo ctr export -f <file name.json> -n <character name> - import your modified character
dndgo ctr import -f <file name.json> - if you want your character markdown to be saved to a different file than your config files, you can specify a path in the character.json file. If you do this, make sure that you only specify the path from the home directory (e.g. "dnd/mdfiles", not "~/dnd/mdfiles") or you will create a ~ dir in the home directory.
- run
dndgo ctr updateordndgoto generate your markdown file - more details on how to set up character and class can be found in the docs directory
We'd love to have you contribute, either by creating a discussion and reporting issues/requesting features, or by picking up existing issues and submitting a PR! If you're interested, please read through the contribution.md file in our docs/ directory.
*Special Thank you to Matt Evans for the dndgo logo, and to Renée French for the inspiration
