Doorstop is a requirements management tool that facilitates the storage of textual requirements alongside source code in version control.
When a project leverages this tool, each linkable item (requirement, test case, etc.) is stored as a YAML file in a designated directory. The items in each directory form a document. The relationship between documents forms a tree hierarchy. Doorstop provides mechanisms for modifying this tree, validating item traceability, and publishing documents in several formats.
Install Doorstop with pip:
$ pip install doorstop
or add it to your Poetry project:
$ poetry add doorstop
After installation, Doorstop is available on the command-line:
$ doorstop --help
And the package is available under the name 'doorstop':
$ python >>> import doorstop >>> doorstop.__version__
Switch to an existing version control working directory, or create one:
$ git init .
Create a new parent requirements document:
$ doorstop create SRD ./reqs/srd
Add a few items to that document:
$ doorstop add SRD $ doorstop add SRD $ doorstop add SRD
Create a child document to link to the parent:
$ doorstop create HLTC ./tests/hl --parent SRD $ doorstop add HLTC
Link items between documents:
$ doorstop link HLTC001 SRD002
Run integrity checks on the document tree:
Publish the documents as HTML:
$ doorstop publish all ./public