System Helpers Development

Information about MCSH development policies, processes, and tools

System Helpers Development

The Mandolin Creek System Helpers (MCSH) package is developed according to clearly delineated policies and processes which are implemented by a robust and resilient set of development tools. Mostly.

Policies

All MCSH development policies should be documented. These policies can be divided into several different areas of operation:

Community

Documentation

The MCSH source code package provides most of its own documentation, along with its own set of tools required to build it:

  • User Guides: Generated from the package documentation included in the source package
  • Reference Manual: Generated directly from the source code comments

Source Code

  • Version Control
  • Patch Submission
  • Packaging
  • Releases
  • Publishing

Style Guides

  • Bash
  • make
  • reStructuredText
  • Python
  • Plone/HTML

Processes

Each policy must be implemented by some number of processes. Where policies simply describe what must be done, processes describe how those policies should be performed.  

Tools

Ideally, the MCSH Development Environment implements all of the policies and processes as described in these documents. Alternatively, these documents attempt to describe the policies and processes were implemented previously. Until we reach v1.0, the reality will depend largely on what we worked on last.

Introspection

The d12 tool provides significant help for developers that want to explore these libraries and how they interrelate to one another. Start exploring with some of the following commands:

d12 dep graph
d12 dep tree src/d12.in
d12 grep dep_tree
d12 wc # prints word count of