Developer Documentation
=======================

About these documents
---------------------

The developer documentation is written to help developers understand how to
work with the source code.

The documents are written in
[Markdown](http://daringfireball.net/projects/markdown/) syntax. You can
generate HTML versions of these documents by typing `scons devdoc` in the root
directory or `scons -u` in this directory.

Content
-------

Understanding the source code:

  * [System Overview](system-overview.txt)
  * [API Documentation](api/index.html) - Generate with `scons api`
  * See `hacking.svg` in this directory

Contributing changes to the source code:

  * [Guidelines](guidelines.txt) - So that your contributions look like ours
  * [How to contribute a change](how-to-contribute.txt) - Describes how your changes gets into our repos
  * [**Mercurial on Windows**](mercurial-windows.txt)

Improving the design of the program:

  * [Design](design.txt) - How to think about the design of a program?
  * [Code Review](code-review.txt)

Distributing the source code:

  * [Release Actions](release-actions.txt)

Notes:

  * [Compatibility](compatibility.txt)

Documented problems and solutions:

  * [wx Dialogs](wx-dialogs.txt)

Documented discussions/decisions:

  * [Refactoring for 0.8.0 release](refactoring-080.txt)
  
Test and checklists:

  * [Checklist for test of menu actions](menu-test-cases-list.txt)  
