 ----
 NPanday Developer's Guide
 ----
 18 February 2010
 ----
~~Licensed to the Apache Software Foundation (ASF) under one
~~or more contributor license agreements.  See the NOTICE file
~~distributed with this work for additional information
~~regarding copyright ownership.  The ASF licenses this file
~~to you under the Apache License, Version 2.0 (the
~~"License"); you may not use this file except in compliance
~~with the License.  You may obtain a copy of the License at
~~
~~    http://www.apache.org/licenses/LICENSE-2.0
~~
~~Unless required by applicable law or agreed to in writing,
~~software distributed under the License is distributed on an
~~"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~KIND, either express or implied.  See the License for the
~~specific language governing permissions and limitations
~~under the License.

NPanday Developer's Guide

  This guide is for those wishing to contribute to NPanday, and contains references for current developers.

* Contents

  * {{{./building.html} Building NPanday}}

  * {{{./debugging-addin.html} Debugging the Visual Studio Add-in}}

  * {{{./conventions.html} Conventions to use}}

  * {{{./design/index.html} NPanday Architecture}}

  []

** References for NPanday Developers

  * {{{./releasing.html} Releasing NPanday}}

  * {{{./publishing-docs.html} Publishing the Documentation}}

  * {{{./issue-workflow.html} Issue Handling Workflow}}

  []
  