As the code for ChatterBot is written, the developers attempt to describe the logic and reasoning for the various decisions that go into creating the internal structure of the software. This internal documentation is intended for future developers and maintaners of the project. A majority of this information is unnecessary for the typical developer using ChatterBot.
It is not always possible for every idea to be documented. As a result, the need may arise to question the developers and maintainers of this project in order to pull concepts from their minds and place them in these documents. Please pull gently.