Requirements-domain extension for cosmoSys, a free and open source plugin for Redmine.
cosmoSys-Req adds requirements engineering capabilities to the cosmoSys base. It lets a team capture, structure, trace and document requirements alongside the rest of the project data, with live diagrams, DSM analysis, and engineering-grade reports. It is free, open source, and has no per-seat limits.
cosmoSys provides the shared base; domain extensions such as cosmoSys-Req add specialised capabilities on top of it.
You can find more information about cosmoSys-Req in the cosmoBots.eu site
This is not a new project created by this repository. It is a refactoring and
continuation of the earlier
cosmosys_req_archived
and cosmosys_req_rm Redmine
plugins. That line of development runs from the first historical commit on 19
June 2019 through the current 2026 refactoring. The repository history was
deliberately restarted to publish a clean software artifact; this does not
erase or replace the project's earlier history and authorship.
This repository contains an early alpha artifact. It is suitable for controlled evaluation and is not yet declared production-ready. You can install it and try it, but expect breaking changes.
cosmoSys-Req requires the cosmoSys plugin. Both are licensed under GPLv3 by cosmoBots.eu.
It is developed and validated against Redmine 7.0.1 (Rails 8). It declares
requires_redmine_plugin :cosmosys, version_or_higher: '0.1.1', so Redmine
refuses to start it unless the installed cosmosys version satisfies that
constraint. Earlier Redmine major versions are not supported.
cosmoSys-Req is installed into an existing Redmine instance the same way any
Redmine plugin is installed. You need a working cosmoSys installation first
(see its README);
this plugin adds the requirement profile and its trackers on top of the
cosmoSys base.
-
Stop the web server (or run migrations while no requests are served).
-
Place the plugin in the plugins directory. From the Redmine root, either clone the repository or copy the plugin files so that
plugins/cosmosys_reqexists:cd /path/to/redmine git clone https://github.com/cosmoBots/cosmoSys_Req.git plugins/cosmosys_reqA packaged release can be unpacked to
plugins/cosmosys_reqinstead. Only the plugin directory itself is required; cosmoSys-Req has no install-time dependency on this workspace. -
Install dependencies. cosmoSys-Req declares no gems of its own; it consumes the cosmoSys runtime (which provides
libxml-rubyand the pinnedrspreadsheetrevision) and Redmine's own gems. If cosmoSys was installed for the first time in this same step, run from the Redmine root:bundle install
If you already installed cosmoSys earlier, no additional gems are needed for cosmoSys-Req.
-
Run the plugin migrations. cosmoSys-Req extends the Redmine schema with the requirement tables and columns. From the Redmine root:
RAILS_ENV=production bundle exec rake redmine:plugins:migrate NAME=cosmosys_reqFor a development or test environment, set
RAILS_ENV=development(ortest) accordingly. Run the cosmoSys migrations first (NAME=cosmosys), then these; an upgrade from an earlier release migrates001through the latest sealed number (001–004for the current release line). -
Create the requirement profile and trackers. cosmoSys-Req registers the
requirementitem profile and therequirementsproject profile with its structural trackerscsRq,csRqm,csRqrandcsRqmr. Assigning a Requirements project profile to a project sets up those trackers and the modules that profile requires. See the cosmoSys project creation flow: the first step selects a project profile, the second presents Redmine's normal project form with the profile's modules preselected. After migration, create a project and choose the Requirements profile (visible once cosmoSys-Req is loaded) to exercise the domain. -
Restart Redmine so the plugin is loaded, then confirm cosmoSys-Req appears in the administration plugin list alongside cosmoSys.
To update cosmoSys-Req in place:
cd /path/to/redmine
git -C plugins/cosmosys_req fetch
git -C plugins/cosmosys_req checkout <new-tag-or-sha>
RAILS_ENV=production bundle exec rake redmine:plugins:migrate NAME=cosmosys_req
# restart RedmineThe migration base is developed fast and the project is still in alpha: the schema is not yet backward-compatible by design, so back up the database before upgrading. cosmoSys-Req also depends on the cosmoSys base, so upgrade cosmoSys to the required version in the same maintenance window.
For a reproducible Docker installation, use the separate
cosmoSys_deploy repository.
Its Requirements variant installs Redmine, cosmoSys and cosmoSys-Req together
at compatible pinned revisions. The Compose stack runs their migrations and
bootstrap and provides health checks, backups and update/restore scripts. You
do not need to install either plugin manually in that deployment.
Clone the deployment repository, create its environment file and set the required database, Redmine secret and initial administrator credentials as described in its README:
git clone https://github.com/cosmoBots/cosmoSys_deploy.git
cd cosmoSys_deploy
cp .env.example .env
# Edit .env and replace the required example credentials.To start the Requirements variant, include both Compose files:
docker compose -f compose.yml -f compose.requirements.yml build
docker compose -f compose.yml -f compose.requirements.yml up -dThe deployment repository's Requirements variant instructions cover its full configuration and operational procedures. For a Redmine installation managed outside this Compose deployment, follow the classic installation instructions above instead.
The canonical repository for this project is github.com/cosmoBots/cosmoSys_Req. Forks and mirrors are welcome under the terms of the GPLv3, but they are not maintained by cosmoBots.eu and may diverge from this source.
- Contact: cosmosys@elporis.com
- Licence: GNU General Public License version 3; see
LICENSE.