System Helpers Development
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
- Contributors
- Communication
- IRC: Developers can find support in the #mcsh channel on the libera.chat network. The following links will take you directly to the appropriate channel:
- via secure webchat: https://web.libera.chat/?channels=mcsh
- via your Browser-selected IRC client: irc://irc.libera.chat/#mcsh
- Email: Developers may subscribe to the mcsh mailing list.
- IRC: Developers can find support in the #mcsh channel on the libera.chat network. The following links will take you directly to the appropriate channel:
- Issue Tracker - View or submit bug reports, feature enhancements, and other feedback
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