Requirements Management in GitHub with Doorstop

Get Started

Requirements That Live With Your Code

With Doorstop and Doorframe your software's requirements live alongside the rest of your project in Git, letting you write and develop requirements that follow your code.

Review, Release, Verify, Validate

Doorframe's integration with GitHub lets you review, release, verify, and validate your requirements with the same level of detail as the rest of your project.

Check out Doorframe's features below!

Beta Access Now Available!

Doorframe is in limited private beta right now! Add the App to your GitHub user account or organization and request access today to get:

  • 2 repositories per installation
  • Ability to add private repositories
  • Immediate access to new features for the duration of the beta

Special consideration for more repositories per install is available upon request.

Already Using Doorframe?

Welcome Back!

Login with GitHub

Doorframe Features

Let Doorframe help guide your requirements capture process

Doorstop and Doorframe's rich feature set, along with its deep integration into GitHub lets you focus on capturing requirements instead of dealing with complex tools or ad-hoc documentation methods. Not being bound to spreadsheets or proprietary software lets you capture requirements transparently in a way that moves along with your project, wherever it goes.

Listed below are just some of the features Doorframe provides!

Beautiful, navigable requirements documents

Doorframe presents your requirements documentation in a way that is easy to navigate, allowing requirements documents to be written and defined with rich, supportive content.

Easy to read requirements

Documents are arranged in an easy to read format, with a table of contents of that document's items and document-to-document navigation always available. Each document automatically receives a color related to it, allowing for easy visual identification of different documents.

Move between linked items easily

Doorstop links your requirements both forward and back, and Doorframe presents them in an easily navigable way, letting you understand complex item-to-item requirements obligations.

Track authorship and changes

Links back to the GitHub commit history and the latest author information is easily accessed on each requirement item.

Rich item content

With rich content support for requirements items, Doorstop and Doorframe let you define complex requirements with descriptive, engaging, and relevant information.

Markdown formatting

Item text can be formatted with GitHub style Markdown, letting you include stylized text sections, images, tables, and other other content in your requirements.

Math LaTeX formula support

Capture mathematical formulas with LaTeX and have them displayed nicely in browser with no special tools required.

PlantUML Diagrams

Easily incorporate UML diagrams in requirements with PlantUML. PlantUML is an easy way to describe UML diagrams in a human readable format.

GitHub Integration

Doorframe integrates with your normal GitHub workflow to make reviewing and discussing your requirements the same as any other part of your project.

Integrated Checkruns

Doorstop checks the validity of your requirements structure, checking for correct links and dependencies. The validity of your documents can be reported to GitHub as a checkrun, letting you make valid requirements documents be part of your pull-request reviews.

Comment Linking

Link back to Doorframe from GitHub easily! Writing a document prefix or a requirement item's unique ID in a issue, PR, commit, or review comment will automatically get linked back to Doorframe.

Getting Started With Doorframe

Welcome!

Getting started with Doorframe is super easy! In a few steps shown below you will be able to begin creating and viewing requirements with Doorstop and Doorframe.

What you'll need:

Before you begin you'll need to satisfy a few requirements. The following are essential for getting started with Doorframe.

This guide will touch on these as you progress through it, but making sure you've signed up to or installed all of the above will make everything go smoother!

Installing Doorframe on GitHub

Doorframe is a GitHub App, which means you will need to install it on your GitHub account and repositories for it to access your requirements data.

Install the App

The button below will open a new tab and direct you to the Doorframe GitHub App Installation page.

Accept App Permissions

Accept the App permissions on the next page. Make sure you're logged into the account you want to install Doorframe with or selected the organization you want to install Doorframe to.

If you chose to install on a specific repository, make sure it is the one you use for the rest of these steps.

Accept Doorframe Terms and Use Policy

If this is your first time logging into Doorframe you'll be directed to the Doorframe Terms of Service and Acceptable Use Policy agreements.

Read them carefully before clicking Accept Terms.

Requesting Beta Access

Your profile Dashboard should now be available.

If you have not already requested beta access make sure to click on "Apply for Access".

Once you have received beta access the next section will explain how to begin creating requirements with Doorstop.

Creating requirements with Doorstop

Once you have installed Doorframe and received beta access, you can start using Doorstop to build requirements.

This is only a small example of using Doorstop, for more information make sure to check out the Doorstop documentation.

Install Doorstop

From a terminal prompt use pip to install Doorstop in Python.

pip install doorstop

Clone Your Repository

Clone a repository you installed Doorframe on and navigate to it in a terminal window.

Replace the URL in the terminal example with the URL of your repository.

git clone https://github.com/user/repo.git

Add a Requirements Document

Adding requirements in Doorstop starts with creating a requirements document.

Create a new document called REQ using the command create command in Doorstop shown below and commit it to the repository.

cd /path/to/your/repo
                        doorstop create REQ ./reqs
                        git commit -a -m "Added REQ Document"

Add a Requirements Item

Now that you have a requirements document you can start adding requirement items to it. This is done through the add command in Doorstop.

Each item is a YAML file that will reside in your repository. In this case the file will be ./reqs/REQ001.yaml.

doorstop add REQ

Edit Requirement

Once you've created a requirements item you can edit it with the edit command in Doorstop.

For this command to work you will need to set the EDITOR environment variable to a suitable text editor.

Saving the contents of the requirement in the editor and closing the editor will update the requirements item.

doorstop edit REQ001

Commit Requirement

Once you are satisfied with the requirement item you can commit and push it to GitHub.

git commit -a -m "Added REQ001 Item"
                    git push

Adding More Requirements

You can repeat the previous 3 steps as many times as you want to add more requirements, as well as repeating the the Doorstop create command to create new requirements documents.

Remember to push changes to your GitHub repository for Doorframe to pick them up! Doorframe tracks your pushes automatically and will update the display of your requirements shortly after you make a push.

You can view the status of your repository pushes in the activity tab on each repository page.

Viewing Requirements in Doorframe

Now that you have added at least a single requirements document and at least one requirement item to that document you should be able to view your requirements in Doorframe.

You can access your install via the Dashboard.