Here's a quick guide to our development process for folks who'd like to contribute.
The main purpose of this repository is to host the MNX specification(s) and related documents. We use GitHub Pages for this; the fully rendered specs live at https://w3c.github.io/mnx/.
That GitHub Pages site uses the content in our repo's gh-pages
branch.
But we do not commit directly to the gh-pages
branch. Instead, we
commit to master
, and each master
commit gets automatically
processed and saved on gh-pages
. Specifically, here's what happens:
- Somebody commits to
master
. - An automated Travis CI job gets notified of the commit and runs the continuous integration job as described in .travis.yml.
- That Travis job, in turn, runs a program called bikeshed, which
converts our spec's
.bs
files into fully rendered.html
files. - Then, the Travis job runs
deploy.sh, which
copies these rendered
.html
files into thegh-pages
branch and makes an automated commit under @adrianholovaty's user account.
Effectively this means each commit on master
has an automatically
generated corresponding commit on gh-pages
.
Please note that the gh-pages
branch won't be instantly updated. The
Travis CI job might take 5 or 10 minutes to run.
Here's the general process of how we organize ideas, issues and pull requests:
- Anybody can raise an issue in our issue tracker.
- The group co-chairs discuss and triage the issue. If it's out of scope, it might get closed outright. Otherwise, it'll be assigned a milestone -- which essentially sets a priority for the issue. See the list of milestones for descriptions of their meanings. The most important one is "V1", which covers issues that must be addressed in the first version of the MNX spec.
- We assign the "Active Review" label to issues that the community group wants to resolve in the near future. This basically amounts to our near-term to-do list.
We welcome pull requests, but please note that each pull request should have an associated issue in our issue tracker.