This repository establishes the version history of the Deck of Adventures tabletop roleplaying game. A magical world awaits, where Players come first. In Deck of Adventures, it’s your turn, your choice.
Deck of Adventures is a collaborative roleplaying system, built with an open source ethos. To explore the project, please visit our website, which includes both our Development Guide and Mechanics Guide.
Join our Discord server!
If the above link is expired, please submit an issue.
- Issues. Proposing changes is as easy as opening an issue.
- Edits. The development team would welcome a PR that made direct edits to existing
docs. Be aware that many lists (e.g., Powers, Bestiary, etc.) are managed as
yaml
files that can be edited directly and then transformed before or after a PR. - Running Code. The
environment.yaml
file specifies a Conda environment that will allow you to run all code and generate documentation.mkdocs
will allow you to see what the docs site looks like before committing by visitinglocalhost:8000
conda env create -f environment.yaml # Generate conda environment
conda activate dofa # Activate the environment
python automation/main.py # Generate md docs
bash docs/docs.sh serve # Generate md docs and deploy site
pre-commit
is used to run a series of checks before accepting a commit, as outlined in
the .pre-commit-config.yaml
. To turn on this feature within your activated conda
environment, simply run pre-commit install
.
N.B.: The markdown lint pre-commit check requires ruby. Feel free to disable this item
if you are not familiar with ruby. If used, the following file may be a useful addition
to your markdown lint config: ~/.config/mdl/line_length_88.rb
all
exclude_rule 'MD034'
rule 'MD013', :line_length => 88, :tables => false
rule 'MD007', :indent => 2
The following VS Code extensions have been used to support development...
- Markdown Lint: Establishes uniformity across docs
- Rewrap: Supports hard wrapping docs to 88 characters, which facilitates easier PR
review. The default keyboard shortcut is
alt+q
oroption+q
. - CSpell: Allows custom dictionaries on spell-check.
- Black Formatter: Supports code uniformity.
The following items may also be helpful in a .vscode/settings.json
file
{
"[markdown]" : {
"editor.rulers": [88],
"editor.formatOnPaste": true,
"editor.formatOnSave": false,
"rewrap.autoWrap.enabled": true,
"rewrap.wrappingColumn": 88
},
"editor.codeActionsOnSave": {
"source.fixAll.markdownlint":true
},
"python.analysis.autoImportCompletions": false,
"python.formatting.provider": "black",
"python.defaultInterpreterPath": "/YOUR/LOCAL/PATH",
"python.formatting.blackArgs": [
"--line-length=88",
"--exclude='.env'"
],
"[python]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "ms-python.python"
},
"notebook.formatOnSave.enabled":true,
}
In addition to game documentation, this repository is home to automation tools that help us rapidly iterate on designs while keeping user-friendly outputs.
In contributions, please conform to black
formatting.