mirror of
https://github.com/Threnklyn/dungeon-sheets.git
synced 2026-05-18 20:23:27 +02:00
99 lines
3.5 KiB
ReStructuredText
99 lines
3.5 KiB
ReStructuredText
===============================
|
|
Contributing to Dungeonsheets
|
|
===============================
|
|
|
|
**Thanks for taking the time to contribute to dungeonsheets!**
|
|
|
|
Dungeonsheets is a small project and relies on volunteers like to you
|
|
to continue pushing new features and improvements. Issues and
|
|
pull-requests are welcomed and encouraged. This document is meant to
|
|
provide guidelines that clarify how you can best help; nothing is
|
|
written in stone.
|
|
|
|
|
|
Scope
|
|
=====
|
|
|
|
Dungeonsheets is intended as a tool for creating character sheets and
|
|
game-maker (GM/DM) sheets. A secondary goal is to provide high-level
|
|
classes that are suitable for incorporation to other projects.
|
|
|
|
Please ensure that all contributions are within the scope of
|
|
dungeonsheets, or if not, are accompanied by a compelling argument for
|
|
why the scope should be expanded. If your project requires changes to
|
|
a core class (e.g. ``Character``), these will be considered,
|
|
especially if the change will be broadly applicable to the usability
|
|
of that class.
|
|
|
|
What to Contribute
|
|
==================
|
|
|
|
Before submitting pull requests, please check the following:
|
|
|
|
- All tests in ``tests/`` pass.
|
|
- All example character sheets in the ``examples/`` directory build
|
|
properly, both with and without the ``--fancy`` option.
|
|
- The submission passes linting by `flake8`_ (optional).
|
|
- The submission is formatted by `black`_ (optional).
|
|
|
|
.. _flake8: https://flake8.pycqa.org/en/latest/
|
|
|
|
.. _black: https://pypi.org/project/black/
|
|
|
|
Adding Features
|
|
---------------
|
|
|
|
Submissions for new features are welcome, provided they are within the
|
|
scope of dungeonsheets. **If the submission adds parameters to the
|
|
character.py schema**, please ensure the following:
|
|
|
|
- At least one example sheet (in ``examples/``) should include the
|
|
new parameters, either by adding a new example or modifying an
|
|
existing example.
|
|
- Older ``character.py`` sheets should still build properly without
|
|
the parameter.
|
|
- Documentation in ``docs/`` is consistent with the new parameter.
|
|
|
|
Adding Content
|
|
--------------
|
|
|
|
Submissions with new game content (e.g. monsters, spells, features)
|
|
are welcome. The mechanics of the content should be included as a
|
|
**subclass of the relevant mechanic** (e.g. ``Monster``, ``Spell``,
|
|
``Feature``). The values themselves will be **attributes of this
|
|
subclass**. The description of the content should form the docstring
|
|
of the subclass. This docstring will be **rendered into the final
|
|
character sheet**, spellbook, etc. Therefore, is should be properly
|
|
formed `reStructuredText`_. Also, the docstring should be free of
|
|
extra content.
|
|
|
|
.. _reStructuredText: https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html
|
|
|
|
Please **respect intellectual property rights** before submitting new
|
|
content. If you did not write the content that is being submitted,
|
|
check the relevant licensing to ensure there are no copyright or other
|
|
IP violations.
|
|
|
|
|
|
How to Contribute
|
|
=================
|
|
|
|
Submitting Bugs
|
|
---------------
|
|
|
|
First, please check the list of `open issues`_ to make sure your bug
|
|
has no already been reported. If your bug has not been previously
|
|
reported, consider `submitting a new issue`_.
|
|
|
|
.. _open issues: https://github.com/canismarko/dungeon-sheets/issues
|
|
|
|
.. _submitting a new issue: https://github.com/canismarko/dungeon-sheets/issues/new
|
|
|
|
Submitting Pull Requests
|
|
------------------------
|
|
|
|
`Pull requests`_ are welcome, both for bug fixes and new features. At
|
|
a minimum, pull requests should not break existing tests.
|
|
|
|
.. _pull requests: https://github.com/canismarko/dungeon-sheets/pulls
|