Skip to content
SPECIFICTION
Get listed

Doorstop

github.com

Free plan Open source WebWindowsmacOSLinuxAPISelf-hosted

What it is

Doorstop manages textual requirements alongside source code in version control. It stores requirements and other linkable items as YAML files in directories that form documents, then organizes those documents into a tree and can validate traceability across it. It publishes document hierarchies and trace matrices as plain text, HTML, LaTeX, or Markdown; templates can shape output, and HTML and LaTeX publishing use them. Requirements can be imported or exported as YAML, CSV, TSV, or Excel files. Doorstop requires Python 3.10 or later and Git or another version control system, and it can be added to a Poetry project. It runs on Linux, macOS, and Windows, with API and self-hosted options, including standalone web-server or WSGI deployment. An experimental desktop GUI handles basic editing. The tool is free at free and licensed under LGPLv3. Baseline support and version history are listed, but approval workflows are not.

Spec sheet

What it does
Doorstop manages textual requirements beside source code in version control, storing linkable items as YAML files arranged in document trees.Read 15 Oct 2026 · github.com
Purpose
Doorstop manages textual requirements alongside source code in version control.Read 7 Oct 2026 · github.com
Integrations
Doorstop requires Python and Git or another version control system, and can be added to a Poetry project.Read 7 Oct 2026 · github.com
License
Doorstop is distributed under the GNU Lesser General Public License version 3.Read 15 Oct 2026 · github.com
Academic description
The 2014 Doorstop paper presents it as a lightweight developer-oriented alternative to centralized database requirements tools, using text files in version control.Read 15 Oct 2026 · scirp.org
Assets
Images, attachments and other files placed in an assets directory can be copied into published output and referenced from requirements.Read 15 Oct 2026 · doorstop.readthedocs.io
Command-line interface
The project exposes a stateless `doorstop` CLI for creating documents, adding and linking items, validating trees, publishing and interchange.Read 15 Oct 2026 · docs.rtems.org
Dependencies
The package declares Python 3.10 through 3.14 support and depends on PyYAML, Markdown, Bottle, Requests, frontmatter, PlantUML Markdown and openpyxl among others.Read 15 Oct 2026 · github.com
Desktop client
The project describes an experimental desktop GUI for basic editing tasks and notes macOS may require python-tk.Read 7 Oct 2026 · github.com
GUI
An experimental `doorstop-gui` desktop interface supports basic editing, and macOS may require python-tk.Read 15 Oct 2026 · doorstop.readthedocs.io
Import and export
Documents can be exchanged in YAML, CSV, TSV and XLSX formats, including Excel round trips.Read 15 Oct 2026 · doorstop.readthedocs.io
Independent feature listing
AlternativeTo lists command-line use, scripting, Git support, filtering and requirements management as Doorstop features.Read 15 Oct 2026 · alternativeto.net
Independent price assessment
OpenRegulatory describes Doorstop as free with no minimum commitment.Read 15 Oct 2026 · openregulatory.com
Independent review availability
AlternativeTo shows no reviews, three likes and zero comments for Doorstop.Read 15 Oct 2026 · alternativeto.net
Independent shortlist limitation
ONES says teams must define their own document conventions, review practices, permissions and change-governance rules.Read 15 Oct 2026 · ones.com
Independent shortlist view
ONES describes Doorstop as transparent, portable and suitable for Git-based traceability and automation, while lacking native backlog, sprint, roadmap and release planning.Read 15 Oct 2026 · ones.com
Independent technical assessment
RTEMS describes Doorstop as a Python, YAML-based, Git-oriented tool with a CLI, predefined attributes, a primitive GUI and item fingerprints.Read 15 Oct 2026 · docs.rtems.org
Intended use
The project describes itself as requirements management using version control and includes requirements, test cases, and certification among its repository topics.Read 7 Oct 2026 · github.com
Interchange
Requirements can be exported and imported using YAML, CSV, TSV, or Excel files.Read 7 Oct 2026 · github.com
Limit: cloud and editor
OpenRegulatory reports no cloud-hosted option and no built-in text editor, requiring users to supply their own editor.Read 15 Oct 2026 · openregulatory.com
Limit: library flexibility
RTEMS reports that Doorstop was not designed as a library, has policy-heavy behavior, lacks custom link attributes and offers limited type-based verification.Read 15 Oct 2026 · docs.rtems.org
Limit: non-developer usability
OpenRegulatory reports that non-developers may struggle because they must learn Git, Doorstop and its file structure.Read 15 Oct 2026 · openregulatory.com
Limit: ordering model
RTEMS reports that Doorstop orders links alphabetically by UID and cannot express relative UIDs or user-defined link ordering.Read 15 Oct 2026 · docs.rtems.org
Limit: setup and compliance work
OpenRegulatory says Doorstop requires significant setup and customization and is not a compliant regulatory solution out of the box.Read 15 Oct 2026 · openregulatory.com
Local web server
`doorstop-server` serves a local browser interface on 127.0.0.1:7867.Read 15 Oct 2026 · doorstop.readthedocs.io
Maker attribution
The package metadata names Jace Browning as the author.Read 15 Oct 2026 · github.com
Operating systems
The package metadata marks it operating-system independent and lists Python 3.10, 3.11, 3.12, 3.13 and 3.14.Read 15 Oct 2026 · github.com
Optional publishing tools
LaTeX/PDF publishing requires a LaTeX distribution, while HTML and Markdown publishing need no additional tools.Read 7 Oct 2026 · github.com
Performance news
The changelog reports a Windows 500-item change-and-validation example improving from about 23 seconds to about 2 seconds through batched Git operations and lazy module loading.Read 15 Oct 2026 · github.com
Permanent identifiers
Each linkable text item receives a unique permanent identifier intended to preserve links when content changes.Read 15 Oct 2026 · doorstop.readthedocs.io
Praise: Git workflow
OpenRegulatory praises Git integration for parallel changes, synchronized code and documentation, and visible diffs and changelogs.Read 15 Oct 2026 · openregulatory.com
Praise: portability
OpenRegulatory says Git storage makes the data exportable by moving the directory or repository.Read 15 Oct 2026 · openregulatory.com
Project origin
Jace Browning says Doorstop was built as his Grand Valley State University master's thesis and that he is no longer actively working on it.Read 15 Oct 2026 · jacebrowning.info
Publishing
Doorstop publishes documents or complete hierarchies, including trace matrices, as text, HTML, Markdown or LaTeX.Read 15 Oct 2026 · doorstop.readthedocs.io
Publishing templates
HTML and LaTeX output can be customized with named templates, CSS, class files and YAML configuration.Read 15 Oct 2026 · doorstop.readthedocs.io
Python package
Doorstop is installable with pip or Poetry and exposes an importable Python package named `doorstop`.Read 15 Oct 2026 · doorstop.readthedocs.io
Rating on OpenRegulatory
3 out of 5; the page does not state a review count.Read 15 Oct 2026 · openregulatory.com
Recent compatibility change
Version 3.1 dropped Python 3.9 support and added Python 3.14 support on 2026-01-31.Read 15 Oct 2026 · github.com
Release news
Version 3.2 was released on 2026-07-10 with line-ending, LaTeX-rendering and heading-reordering fixes.Read 15 Oct 2026 · github.com
Requirements
The repository lists Python 3.10 or later and a version control system as requirements.Read 7 Oct 2026 · github.com
REST API
The project changelog records `doorstop-server` as a REST API for UID reservation and a server option for `doorstop add`.Read 15 Oct 2026 · github.com
Review tracking
Users can mark individual items, documents or whole trees as reviewed and clear suspect links.Read 15 Oct 2026 · doorstop.readthedocs.io
Security posture
The GitHub repository reports no SECURITY.md policy and no published security advisories.Read 15 Oct 2026 · github.com
Security reporting
The project directs users to raise a GitHub issue to report a problem or security vulnerability.Read 7 Oct 2026 · github.com
Storage
Requirements and other linkable items are stored as YAML files in directories that form documents.Read 7 Oct 2026 · doorstop.readthedocs.io
System requirements
Official setup requires Python 3.10 or newer plus Git or another version-control system.Read 15 Oct 2026 · doorstop.readthedocs.io
Templates
Publishing templates can customize output styling, and the documentation says HTML and LaTeX publishing use templates.Read 7 Oct 2026 · github.com
Third-party integrations
The documentation lists Docker deployment, a closed-source GitHub App called doorframe, and standalone GUI clients including doorhole and doorstop-edit.Read 15 Oct 2026 · doorstop.readthedocs.io
Traceability
Documents can be linked into parent-child hierarchies so requirements, tests, designs and implementation artifacts can be traced.Read 15 Oct 2026 · doorstop.readthedocs.io
Validation
The command-line tool checks document-tree integrity, links and traceability relationships.Read 15 Oct 2026 · doorstop.readthedocs.io
Web server
Doorstop can run as a standalone web server or as a WSGI application under Apache or another web server.Read 7 Oct 2026 · github.com

Plans and prices

Doorstop Free Open source · requires Python and a version control system Read 7 Oct 2026 · github.com
Open-source Doorstop Free LGPLv3 · Python 3.10+ · version-control system required · self-hosted Read 15 Oct 2026 · github.com

Every Doorstop plan and price →

Strong points and limits

Strong points

  • Validates traceability across document trees
  • Publishes trace matrices in four formats
  • Imports and exports YAML, CSV, TSV, and Excel
  • Supports baselines and version history

Limits

  • Requires Python 3.10 or later
  • Requires Git or another version control system
  • Does not include approval workflows
  • Desktop GUI is experimental

Who it suits

Doorstop suits teams managing requirements alongside source code in version control, especially when they need traceability, publishing, or file interchange. It requires Python and a version control system.

Verdict

Doorstop combines version-controlled requirement files with tree-based traceability and multiple publishing and interchange formats. It is free, but users need Python and version control, and approval workflows are not included.

Where Specifiction places it

Alternatives to DoorstopAll alternatives →