Current core development values
===============================

* Target :code:`async` only.
* Store the database file as a single human-editable file.
* Keep the core module a single minimalistic file.
* Provide for dynamic instrumentation.

Guidelines for developers of Persistence 5
==========================================

These apply both to the internal PARRRATE TNV team behind Persistence 5 and to external contributors.

* Before contributing a feature to Persistence 5, the following should be considered:
    * Addition of a simple extensible/flexible support for the further integration of external features is preferred over adding features themselves.
    * Addition of features as extensions is preferred over adding features to core codebase.
    * Maintaining extensions as separate projects is preferred over adding them to the core repository.
    * Forking of the repository is encouraged.
    * Usage of the repository as a reference for custom data storage solutions is encouraged.
* Instrumentation code base is more open to direct code contributions.
    * Main way of instrumentation is code injection.
    * Instrumentation on its own shouldn't require changes to the core code, even though instrumentation-allowing core code is preferred.