Avogadro is a molecular modeling / viewing / editing tool. More importantly, it is a platform for developing chemical and molecular visualization and interactive simulations.
The core design allows every feature to be extended via a plugin. This allows new features and tools to be easily added and removed and extension into new applications. Almost every feature in Avogadro is developed as a plugin, so the source code itself serves as examples for other developers.
Plugins for extending Avogadro:
libavogadro classes: Main classes
In many cases, if you want to add features to Avogadro, you wish to add an Extension or DockExtension. We have set up a series of tutorials for third-party extensions (i.e., building outside the main Avogadro source).
More information can also be found on the Avogadro Developer website.