This repository has been archived by the owner on Aug 30, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 24
contributing
chris grzegorczyk edited this page Oct 14, 2012
·
5 revisions
There are two classes of documents to which it is appropriate contributing here: See Document Definitions The contents of this repository are reviewed and, to that end, all changes should be submitted as a pull request: Fork & Pull.
- Get a github account.
- Create a fork of this repository.
- Synchronize your fork with this repository.
- Make your changes (NOTE: See Formats and Organization below for restrictions/expectations).
- Commit to your forked repository.
- Submit a pull request.
- Be patient and contented.
- Text: must be renderable through the github interface
- Graphics: must be text-based so a compile step is not only acceptable, but required.
-
Binary files: may be committed in the cases that:
- A binary output format (e.g., images) is needed: In this case, it has to be compilable from a text-based and versioned file.
- A reference document or tool is included: These belong in specific places noted below.
-
Auto-generated: A number of files in this repo are automatically generated **DO NOT EDIT THEM DIRECTLY**
- Any binary file is either auto-generated or 3rd-party.
- Surely more of them go here...
The remainder of this document uses the suffix
.wiki
to identify a generic file which can be rendered using github-markup
.
To use github-markup
see the directions at the github-markup repository.
The currently supported and seemingly reasonable formats are:
-
.markdown, .mdown, .md --
gem install redcarpet (https://github.com/vmg/redcarpet)
-
.textile --
gem install RedCloth
-
.mediawiki --
gem install wikicloth
-
.asciidoc --
brew install asciidoc
The organization of the repository reflects the long-lived nature of a features true specification. That is, the specification and design work related to a feature's implementation for a particular release often corresponds with only a portion of the entire feature's implementation. Moreover, feature's specification evolves over time as the requirements, architecture, and upstream specifications evolve.
The following table describes the organization of the top-level of the repository.
features/
|
this is where all content goes |
bin/ , lib/
|
Ignore these. Contain helpers and their libraries |
releases/
|
Ignore these. Contain auto-generated xref of features to releases |
Each feature is contained in its own directory. The organization of the features/${feature}
directory, for some imagined ${feature}
, is described in the following table:
/overview.wiki
|
Top-level document aggregating all the sub documents | |
/xref
|
xref's to the JIRA epic(s) and confluence pages | |
/spec.wiki
|
High level architecture document | |
/diagrams
|
Source materials for diagrams and their generated documents (images) | |
/X.Y
|
Documents specific to the work done (or going on during) the X.Y release. |
For example features/${feature}/3.3/ contains documents for the 3.3 release.
|
/overview.wiki
|
Overview document aggregating all the release specific feature information | |
/spec.wiki
|
Release specific feature specification | |
/design
|
Release specific design documents | |
/xref
|
xref's to the JIRA epic for the current release |
- github markup: github markup library
- gollum: rendering library used by github-markup
- pediapress tools: mediawiki tools
- mw-render: mediawiki renderer
- python-jira: jira library used for xrefs
- PlantUML: text based uml diagramming tool
- dot/graphviz: used by plantuml for diagrams