Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A JSON schema for open-source project contribution data.
CSS HTML JavaScript Python
branch: master

Test build and deploy via Travis-CI.

Run flake8 and npm install, then push to heroku automatically.
latest commit 26c5a6c432
@pmclanahan pmclanahan authored


A JSON schema for open-source project contribution data.

This is currently a proposal and is not yet stable. Suggestions and pull-requests welcome.

This is the current draft. I'm presenting the schema as an example instance using mozilla/bedrock as the subject. Previous discussion can be found in the comments of the original gist.

    // required
    "name": "Bedrock",
    "description": "The app powering (most of)",
    "repository": {
        "url": "",
        "license": "MPL2",
        // optional
        "type": "git",
        "tests": "",
        "clone": ""

    // optional
    "participate": {
        "home": "",
        "docs": "",
        // optional
        "mailing-list": "",
        "irc": "irc://",
        "irc-contacts": [
    "bugs": {
        "list": "",
        "report": "",
        "mentored": ""
    "urls": {
        "prod": "",
        "stage": "",
        "dev": "",
        "demo1": ""
    "keywords": [


We're currently using the JSON Schema standard and we publish our schema at schema.json.

You can, for example, use the json-schema-validator to validate your own contribute.json against this schema.

Flask app

There's a server-side app that is currently available on

Running the Flask app locally

# clone from the main repo
git clone

# go into the directory
cd contribute.json

# using virtualenv wrapper, create a new virtual environment for the project.
mkvirtualenv contribute.json

# intall the requirements
pip install -r requirements.txt

# install the npm dependencies
npm install

# generate the CSS files (use `grunt watch` to work on the LESS files)
grunt less

# Run the app with
DEBUG=true python app

open http://localhost:5000/

NB! Most of the functionality is built as an AngularJS app.

Something went wrong with that request. Please try again.