In the Developer documentation you can find the Developer Guide, FAQ, and the Java Doc API.  The example implementation shows you in details how to extend the KNIME framework with your own nodes.

If you develop your own nodes, please also pay attention to the KNIME Noding Guidlines, which specify how KNIME nodes should behave.

The preferred way of developing for KNIME is to download the KNIME Target Platform definition, which is provided on the download page, and use it your own Eclipse installation. Consult the Eclipse documentation on how to use target platforms.
You may also want to have a look at the KNIME Node Wizard that can be installed from the KNIME Update Site (look in the KNIME Node Development Tools category).

We also provided a KNIME Software Development Kit (SDK) which is an Eclipse SDK with some KNIME plug-ins already installed. However, using a target platform definition is the preferred way of developing KNIME extensions.