Skip to end of metadata
Go to start of metadata

In order to contribute code, please follow these guidelines: 

  1. Create a fork in GitHub.
  2. Make sure that there is a corresponding issue in the Ed-Fi Tracker for your change. If there is none, create one.
  3. Create a branch off the master branch. Name it something that makes sense, and add the JIRA Issue Id as part of the name. For example, DATASTD-146 Peer Rating table. This makes it easy for everyone to figure out what the branch is used for. It also makes it easier to isolate your change from incoming changes from the origin.
  4. Commit your changes and push your changes to GitHub. 
  5. Create a pull request against the origin's master branch. Make sure the pull request includes the JIRA Issue Id, for example, DASH-681 Remove white space in Learning Standards Drilldown. For more details on how to submit a pull request, see How To: Submit a Pull Request.

We use JIRA smart commits. Smart commits only support the default JIRA issue key format. This format is two or more uppercase letters, followed by a hyphen, and the issue number. For our projects, we have the following:

  • ODS-1234
  • DATASTD-124
  • DASH-131

Users can include multiple smart commit directives in the same commit message. For more details, see Processing JIRA Issues with commit messages.


DOs and DON'Ts

  • DO follow our coding style (see below).
  • DO include tests when adding new features. When fixing bugs, start with adding a test that highlights how the current behavior is broken.
  • DO keep the discussions focused. When a new or related topic comes up, it's often better to create a new issue than to sidetrack the discussion.
  • DON'T surprise us with big pull requests. Instead, file an issue and start a discussion so we can agree on a direction before you invest a large amount of time.


If an issue is complex, consider filing it and giving us time to respond before sending a corresponding Pull Request. If you want to work on the issue, just let it be known on the issue thread. Giving us a chance to review the issue may save considerable time. For example, we might let you know why existing behavior can't be changed or about particular implementation constraints you need to keep in mind, and so forth.

Don't feel obliged to match every issue with a Pull Request. Simply filing issues for problems you encounter is a great way to contribute, too.

We use JIRA to keep track of issues. See the Ed-Fi Issue Tracker for more information. Keep in mind that some tech components require a license. For access level, check out our Technical Community Guidelines.


  • DON'T submit Pull Requests that alter licensing-related files or headers. If you believe there's a problem with them, file an issue and let us take care of it.

We borrowed these awesome guidelines from the .NET CoreFX team