Welcome to DFHack's documentation!
==================================

Introduction
============
DFHack is a Dwarf Fortress memory access library, distributed with scripts
and plugins implementing a wide variety of useful functions and tools.

For users, it provides a significant suite of bugfixes and interface
enhancements by default, and more can be enabled.  There are also many tools
(such as `plugins/workflow` or `plugins/autodump`) which can make life easier.
You can even add third-party scripts and plugins to do almost anything!

For modders, DFHack makes many things possible.  Custom reactions, new
interactions, magic creature abilities, and more can be set through `scripts <scripts/modtools>`
and custom raws.  Non-standard DFHack scripts and inits can be stored in the
raw directory, making raws or saves fully self-contained for distribution -
or for coexistence in a single DF install, even with incompatible components.

For developers, DFHack unites the various ways tools access DF memory and
allows easier development of new tools.  As an open-source project under
`various copyleft licences <license>`, contributions are welcome.


Documentation
=============
DFHack documentation is generated by Sphinx.  Check out the table of contents
below, or the sources in the `docs folder`_!

.. _`docs folder`: ./docs

User Manual:

.. toctree::
   :maxdepth: 2

   docs/Core
   docs/Plugins
   docs/Scripts

Other Contents:

.. toctree::
   :maxdepth: 1

   docs/Authors
   docs/Licenses
   docs/Changelog

For Developers:

.. toctree::
   :maxdepth: 1

   docs/Contributing
   docs/Compile
   docs/Lua API
   library/xml/SYNTAX
   docs/Binpatches
