Skip to content
Requirement management tool with support for versioning, branching and hierarchies
Branch: golang
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


OpenRQ is a requirement management application that (attempts to) support versioning, branching and hierarchies. It runs on Linux, macOS and Windows and is written in Go with the help of Qt and qt (the Go bindings for Qt and Qt itself have the same name).

Compile and Run

First, install Go, Qt and qt. Any Qt version 5.12 or newer should work, just make sure to generate bindings for Qt 5.12.0. If you are on Linux, install the packages through your package manager and on macOS, install the packages with Homebrew. After that, you can simply download OpenRQ with go get and run it with go run.

Repository Structure

The main source code is located in / as Go files. Here is what all the files contain:

File Content
datacontext.go Connection between Go code and the underlying project database
edititem.go Dialogs and handling of editing items
icons.go Mapping to system icons and custom bitmap icons
main.go Entry point
mainview.go The main view for drawing the tree
mainwindow.go Everything related to the window, except for the main view
project.go Handling of loading and parsing projects
requirement.go Requirement item
settings.go Application settings
solution.go Solution item
tabledata.go All tables used in the underlying project database
tree_test.go Unit testing for tree creation and editing
updater.go Update checker, and previously auto updater
validation.go Validation engine
validation_test.go Unit testing for validation engine

The other files and folders are as follows:

File/Folder Content
.vscode/ Specific settings for Visual Studio Code, the environment used in development
.gitignore Git ignore file for project and temporary files
license GPL 3.0 license This file Third-party licenses and links to source code
You can’t perform that action at this time.