Developer Guide Table

Type LevelUIDSTATUSTAGSREFS Title Statement Rationale Comment
Section 1
Getting started
Section 1.1
Installing StrictDoc from GitHub (developer mode)
Free text

Note: Use this way of installing StrictDoc only if you want to make changes in StrictDoc's source code. Otherwise, install StrictDoc as a Pip package (see above).

git clone https://github.com/strictdoc-project/strictdoc.git && cd strictdoc
pip install -r requirements.txt
python3 strictdoc/cli/main.py

All development tasks are managed using Invoke in the tasks.py file. On macOS and Linux, all tasks run in dedicated virtual environments. On Windows, invoke uses the parent pip environment which can be a system environment or a user's virtual environment.

pip install invoke  # macOS and Linux
invoke setup-development-deps  # macOS and Linux
pip install -r requirements.development.txt  # Windows only
invoke --list  # See the available tasks
Section 2
Invoke for development tasks
Free text

Make sure to familiarize yourself with the available developer tasks by running:

invoke --list
Section 3
Frontend development
Free text

The shortest path to run the server when the StrictDoc's source code is cloned:

invoke server
Section 4
Running integration tests
Free text

The integration tests are run using Invoke:

invoke test-integration

The --focus parameter can be used to run only selected tests that match a given substring. This helps to avoid running all tests all the time.

invoke test-integration --focus <keyword>
Section 5
Generating documentation locally
Free text

The following Invoke task generates StrictDoc's documentation to StrictDoc and Sphinx:

invoke sphinx