StrictDoc Documentation
Traceability matrix
Node Parent File
User Guide
[No UID]
1. Introduction
SDOC_UG_CONTACT
1.1. Contact the developers
[No UID]
1.1.1. StrictDoc office hours
[No UID]
2. Examples
SDOC_UG_HELLO_WORLD
2.1. Hello World
[No UID]
2.2. StrictDoc Examples repository
[No UID]
2.3. StrictDoc Templates repository
[No UID]
2.4. Other examples
SDOC_UG_GETTING_STARTED
3. Installing StrictDoc
[No UID]
3.1. Requirements
[No UID]
3.2. Installing StrictDoc as a Pip package (recommended way)
[No UID]
3.3. Installing "nightly" StrictDoc as a Pip package
[No UID]
3.4. Installing StrictDoc into a Docker container
[No UID]
3.5. Installing StrictDoc as a Snap package (not maintained)
[No UID]
3.6. Installing StrictDoc with Nix
[No UID]
4. Running StrictDoc
SECTION-UG-Static-HTML-export
4.1. Static HTML export
SECTION-UG-Web-server
4.2. Web server
SECTION-UG-Security-considerations
4.3. Security considerations
SDOC_UG_IDE_SUPPORT
5. IDE support
SECTION-UG-SDoc-syntax
6. SDoc syntax
[No UID]
6.1. Document structure
SECTION-UG-DOCUMENT-ELEMENTS
6.2. Document elements
SECTION-UG-Document
6.2.1. DOCUMENT
DOCUMENT_FIELD_OPTIONS
6.2.1.1. Document configuration options
[No UID]
6.2.1.1.1. ENABLE_MID
[No UID]
6.2.1.1.2. MARKUP
[No UID]
6.2.1.1.3. AUTO_LEVELS
SECTION-UG-VIEW_STYLE
6.2.1.1.4. VIEW_STYLE
[No UID]
6.2.1.1.5. NODE_IN_TOC
[No UID]
6.2.1.2. Additional Metadata
SECTION-UG-Leaf-nodes
6.2.2. Leaf nodes
[No UID]
6.2.2.1. TEXT
[No UID]
6.2.2.2. REQUIREMENT
UG_COMPOSITE_NODE
6.2.3. Composite nodes
ELEMENT_SECTION
6.2.3.1. SECTION
[No UID]
6.2.3.1.1. Nesting sections
[No UID]
6.2.3.1.2. Section grammar definition
[No UID]
6.2.4. Reserved fields
SECTION-UG-Machine-identifiers-MID
6.2.4.1. MID – Machine identifier
[No UID]
6.2.4.1.1. Unique vs machine identifiers (MID vs UID)
[No UID]
6.2.4.2. UID
UG_NODE_WITHOUT_A_LEVEL
6.2.4.3. LEVEL
[No UID]
6.2.4.4. STATUS
[No UID]
6.2.4.5. TAGS
[No UID]
6.2.4.6. TITLE
[No UID]
6.2.4.7. STATEMENT
[No UID]
6.2.4.8. RATIONALE
[No UID]
6.2.4.9. COMMENT
SDOC_UG_REQUIREMENT_RELATIONS
6.2.4.10. RELATIONS
[No UID]
6.2.4.10.1. Relation roles
SECTION-UG-Single-vs-multiline-fields
6.2.5. Single vs multiline fields
UG_COMPOSABLE_DOCUMENTS
6.2.6. DOCUMENT_FROM_FILE – Composing documents from other documents
SECTION-UG-DOCUMENT-GRAMMAR
6.3. Document grammar
[No UID]
6.3.1. Supported field types
[No UID]
6.3.2. Grammar element properties
[No UID]
6.3.2.1. IS_COMPOSITE
[No UID]
6.3.2.2. PREFIX
SECTION-UG-VIEW_STYLE-2
6.3.2.3. VIEW_STYLE
SDOC_UG_GRAMMAR_RELATIONS
6.3.3. Relations
SECTION-UG-Relation-roles
6.3.3.1. Relation roles
SDOC_UG_GRAMMAR_RELATIONS_PARENT_VS_CHILD
6.3.3.2. Parent vs Child relations
[No UID]
6.3.4. IMPORT_FROM_FILE – Importing grammar from file
[No UID]
6.3.4.1. Grammar aliases
SDOC_UG_LINKS_AND_ANCHORS
6.4. Links
[No UID]
6.4.1. Links
[No UID]
6.4.2. Anchors
[No UID]
6.4.2.1. Anchor example
[No UID]
6.5. Syntax rules
SECTION-UG-Strict-rule-1
6.5.1. Strict rule #1: One empty line between all nodes
SECTION-UG-Strict-rule-2
6.5.2. Strict rule #2: No content is allowed outside of SDoc grammar
SECTION-UG-Strict-rule-3
6.5.3. Strict rule #3: No empty strings
[No UID]
7. Markup
[No UID]
7.1. Images
[No UID]
7.2. Mathjax support
[No UID]
8. Export formats
[No UID]
8.1. HTML documentation tree by StrictDoc
SECTION-UG-Inbound-Links
8.1.1. Inbound Links
SECTION-UG-HTML-export-via-Sphinx
8.2. HTML export via Sphinx
SECTION-UG-PDF-export-via-Sphinx-LaTeX
8.3. PDF export via Sphinx/LaTeX
[No UID]
8.4. JSON
[No UID]
9. Manage project tree
SECTION-UG-Automatic-assignment-of-requirements-UID
9.1. Automatic assignment of requirements UID
SECTION-TRACEABILITY-REQS-TO-SOURCE-CODE
10. Traceability between requirements and source code
SECTION-UG-Language-aware-parsing-of-source-code
10.1. Language-aware parsing of source code
[No UID]
10.2. Linking source code to requirements
[No UID]
10.3. Linking requirements to source code
SECTION-UG-File-relations-roles
10.4. File relations roles
[No UID]
10.5. Ignoring source code markers
SECTION-UG-Parsing-SDoc-source-nodes
10.6. Parsing SDoc nodes from source code comments (experimental, for C/C++ and Rust only)
SECTION-UG-ReqIF-support
11. ReqIF support
[No UID]
11.1. Import flow (ReqIF -> SDoc)
[No UID]
11.2. Export flow (SDoc -> ReqIF)
SECTION-UG-ReqIF-options
11.3. ReqIF options
SECTION-REQIF-DETAILS
11.4. ReqIF implementation details
[No UID]
12. Excel support
[No UID]
12.1. Import flow (Excel XLS/XLSX -> SDoc)
[No UID]
12.2. Export flow (SDoc -> Excel XLSX)
SECTION-UG-Project-statistics-screen
13. Project statistics screen
[No UID]
13.1. User-provided custom statistics generator (experimental)
[No UID]
14. Mermaid diagramming and charting tool
[No UID]
15. Configuration
SDOC_UG_OPTIONS_PROJECT_LEVEL
15.1. Project-level configuration
[No UID]
15.1.1. Project title
[No UID]
15.1.2. Path to assets
SECTION-UG-Path-to-cache-dir
15.1.3. Path to cache dir
[No UID]
15.1.4. Path to source root
SECTION-UG-Path-to-custom-HTML2PDF-template
15.1.5. Path to custom HTML2PDF template
[No UID]
15.1.6. Include/exclude document paths
[No UID]
15.1.7. Include/exclude source files paths
SDOC_UG_CONFIG_FEATURES
15.1.8. Selecting features
[No UID]
15.1.8.1. Enable all features
[No UID]
15.1.8.2. Disable all features
[No UID]
15.1.9. Server configuration
SECTION-UG-Host-and-port
15.1.9.1. Host and port
[No UID]
15.2. Command-line interface options
[No UID]
15.2.1. Project title
[No UID]
15.2.2. Parallelization
[No UID]
16. Python API
[No UID]
17. User plugins
[No UID]
17.1. Custom validations
SECTION-UG-Performance-considerations
18. Performance considerations
SECTION-UG-Finding-document-and-source-files
18.1. Finding document and source files
UG_PORTABILITY_CONSIDERATIONS
19. Portability considerations
[No UID]
20. Interoperability with other tools
SECTION-UG-Doxygen
20.1. Doxygen
[No UID]
20.2. Valispace
SDOC_UG_EXPERIMENTAL_FEATURES
21. Experimental features
SECTION-UG-Markdown-support
21.1. Markdown support (experimental)
SECTION-UG-Search-and-filtering
21.2. Search and filtering
[No UID]
21.2.1. Query engine
[No UID]
21.2.2. Filtering content
[No UID]
21.3. Document tree map screen
SECTION-UG-Diff-changelog-screen
21.4. Diff/changelog screen
SECTION-UG-HTML2PDF-document-generator
21.5. HTML2PDF document generator
[No UID]
21.5.1. Forcing a page break for each node
[No UID]
21.6. Test report integration
[No UID]
21.6.1. JUnit XML
[No UID]
21.6.2. LLVM Integrated Tester JUnit XML specifics
[No UID]
21.6.3. Robot Framework XML
[No UID]
21.6.4. cargo-nextest JUnit XML specifics
[No UID]
21.7. Shadow features
SDOC_UG_LIMIT
22. StrictDoc's limitations
SDOC_UG_LIMIT_RST
22.1. Limitations of RST support by StrictDoc
SDOC_UG_LIMIT_WEB
22.2. Limitations of web user interface
[No UID]
23. Known issues
[No UID]
24. Appendices
SECTION-UG-FREETEXT-TEXT
24.1. FREETEXT-TEXT migration (June 2024)
[No UID]
24.1.1. How to migrate from FREETEXT to TEXT
SECTION-UG-NODE-MIGRATION
24.2. [[NODE]] migration (2025 Q2-Q3)
[No UID]
24.2.1. How to migrate from [SECTION] to [[SECTION]]
SECTION-UG-MIGRATE-CONFIG-2025-Q4
24.3. Migrating StrictDoc Configuration: Python Replaces TOML (2025 Q4)
StrictDoc Feature Map
SECTION-FM-SDoc-text-markup
1. SDoc text markup
[No UID]
1.1. Definition
SDOC-FEAT-1
1.1.1. SDoc text markup
[No UID]
1.2. Use case
[No UID]
1.3. Inspirations
[No UID]
1.4. Screenshots
[No UID]
2. HTML export
[No UID]
2.1. Definition
SDOC-FEAT-2
2.1.1. StrictDoc HTML export
[No UID]
2.2. Screenshots
[No UID]
3. Web-based graphical user interface
[No UID]
3.1. Definition
SDOC-FEAT-3
3.1.1. StrictDoc web-based graphical user interface
[No UID]
3.2. Screenshots
[No UID]
4. Traceability between requirements and source code
[No UID]
4.1. Definition
SDOC-FEAT-4
4.1.1. Traceability between requirements and source code
[No UID]
4.2. Screenshots
[No UID]
5. Document grammar
[No UID]
5.1. Definition
SDOC-FEAT-5
5.1.1. Custom document grammars
[No UID]
5.2. Screenshots
[No UID]
6. Composable documents
[No UID]
6.1. Definition
SDOC-FEAT-6
6.1.1. Composable documents
[No UID]
7. Export to RST
[No UID]
7.1. Definition
SDOC-FEAT-8
7.1.1. Export to RST
[No UID]
7.2. Screenshots
[No UID]
8. Export to PDF
[No UID]
8.1. Definition
SDOC-FEAT-10
8.1.1. Export to PDF
[No UID]
8.2. Screenshots
[No UID]
9. Query engine and search screen
[No UID]
9.1. Definition
SDOC-FEAT-7
9.1.1. Query engine and search screen
[No UID]
9.2. Screenshots
[No UID]
10. Project statistics
[No UID]
10.1. Definition
SDOC-FEAT-11
10.1.1. Project Statistics
[No UID]
10.2. Screenshots
[No UID]
11. Documentation diff/changelog
[No UID]
11.1. Definition
SDOC-FEAT-12
11.1.1. Documentation diff/changelog
[No UID]
11.2. Screenshots
[No UID]
12. ReqIF support
[No UID]
12.1. Definition
SDOC-FEAT-13
12.1.1. ReqIF support
[No UID]
13. Project configuration
[No UID]
13.1. Definition
SDOC-FEAT-9
13.1.1. Project configuration
[No UID]
13.2. Screenshots
F.A.Q.
[No UID]
1. What is StrictDoc?
[No UID]
2. Resources about StrictDoc
[No UID]
2.1. Presentations
[No UID]
2.2. Blog posts
[No UID]
2.3. Screencasts / tutorials
[No UID]
3. Which web server is recommended for StrictDoc documentation?
[No UID]
4. Is StrictDoc compatible with Sphinx?
SECTION-FAQ-How-did-the-SDoc-text-language-become-what-it-is
5. How did the SDoc text language become what it is?
[No UID]
6. How StrictDoc compares to other tools?
[No UID]
6.1. Doorstop
[No UID]
6.2. Sphinx
[No UID]
6.3. Sphinx-Needs
[No UID]
6.4. FRET
[No UID]
6.5. Other tools
[No UID]
7. How long has the StrictDoc project been around?
[No UID]
8. Which StrictDoc statistics are available?
Release Notes
[No UID]
1. Unreleased
[No UID]
2. 0.22.0 (2026-05-31)
[No UID]
3. 0.21.1 (2026-05-17)
[No UID]
4. 0.21.0 (2026-05-14)
[No UID]
5. 0.20.0 (2026-04-27)
[No UID]
6. 0.19.0 (2026-03-15)
[No UID]
7. 0.18.1 (2026-02-26)
[No UID]
8. 0.18.0 (2026-02-22)
[No UID]
9. 0.17.1 (2026-02-11)
[No UID]
10. 0.17.0 (2026-02-09)
[No UID]
11. 0.16.4 (2026-01-28)
[No UID]
12. 0.16.3 (2026-01-18)
[No UID]
13. 0.16.2 (2026-01-11)
[No UID]
14. 0.16.1 (2026-01-05)
[No UID]
15. 0.16.0 (2026-01-04)
[No UID]
16. 0.15.3 (2025-12-18)
[No UID]
17. 0.15.2 (2025-11-30)
[No UID]
18. 0.15.1 (2025-11-28)
[No UID]
19. 0.15.0 (2025-11-08)
[No UID]
20. 0.14.0 (2025-10-05)
[No UID]
21. 0.13.0 (2025-09-28)
[No UID]
22. 0.12.1 (2025-09-18)
[No UID]
23. 0.12.0 (2025-09-17)
[No UID]
24. 0.11.3 (2025-09-07)
[No UID]
25. 0.11.2 (2025-09-02)
[No UID]
26. 0.11.1 (2025-09-01)
[No UID]
27. 0.11.0 (2025-08-26)
[No UID]
28. 0.10.1 (2025-07-25)
[No UID]
29. 0.10.0 (2025-07-20)
[No UID]
30. 0.9.4 (2025-07-12)
[No UID]
31. 0.9.3 (2025-07-03)
[No UID]
32. 0.9.2 (2025-06-28)
[No UID]
33. 0.9.1 (2025-06-14)
[No UID]
34. 0.9.0 (2025-06-10)
[No UID]
35. 0.8.0 (2025-04-13)
[No UID]
36. 0.7.0 (2025-03-03)
[No UID]
37. 0.6.0 (2025-02-16)
[No UID]
38. 0.5.0 (2025-01-06)
[No UID]
39. 0.4.0 (2024-12-25)
[No UID]
40. 0.3.0 (2024-11-21)
[No UID]
41. 0.2.1 (2024-11-10)
[No UID]
42. 0.2.0 (2024-11-04)
[No UID]
43. 0.1.0 (2024-11-01)
[No UID]
44. 0.0.60 (2024-10-26)
[No UID]
45. 0.0.59 (2024-10-13)
[No UID]
46. 0.0.58 (2024-06-25)
[No UID]
47. 0.0.57 (2024-06-23)
[No UID]
48. 0.0.56 (2024-06-02)
[No UID]
49. 0.0.55 (2024-04-28)
[No UID]
50. 0.0.54 (2024-04-17)
[No UID]
51. 0.0.53 (2024-04-01)
[No UID]
52. 0.0.52 (2024-03-25)
[No UID]
53. 0.0.51 (2024-03-20)
[No UID]
54. 0.0.50 (2024-03-19)
[No UID]
55. 0.0.49 (2024-03-11)
[No UID]
56. 0.0.48 (2024-01-24)
[No UID]
57. 0.0.47 (2023-11-20)
Troubleshooting
[No UID]
1. Caching issues
Contributing to StrictDoc
[No UID]
1. Contributor checklist
[No UID]
2. How can I help?
[No UID]
2.1. Spread the word
[No UID]
2.2. ReqIF users
[No UID]
2.3. TeX / LaTeX / Sphinx experts
Developer Guide
DEVGUIDE_GETTING_STARTED
1. Getting started
[No UID]
1.1. System dependencies
[No UID]
1.1.1. Windows-specific: Long Path support
[No UID]
1.2. Installing StrictDoc from GitHub (developer mode)
[No UID]
1.2.1. Development within a virtual environment
[No UID]
2. Invoke for development tasks
[No UID]
3. Main "Check" task
DEVGUIDE_PYTHON_CODE
4. Python code
DEVGUIDE_GIT_WORKFLOW
5. Git workflow
[No UID]
6. Frontend development
[No UID]
7. Running End-to-End Web tests
[No UID]
8. Running integration tests
[No UID]
9. Documentation
[No UID]
10. Conventions
[No UID]
11. Playbooks
[No UID]
11.1. How to update release notes
Requirements Tool Specification (L1)
[No UID]
1. Summary of user needs
[No UID]
1.1. Free and open source tool
[No UID]
1.2. Document types
SECTION-RTC-Appendix-A-Document-archetypes
1.2.1. Document structure differences
SECTION-LRTS-Workflows
1.3. Workflows
[No UID]
1.4. Target audience
SECTION-RTS-Documentation-management
2. Documentation management
SDOC-SSS-3
2.1. Documents (CRUD)
SDOC-SRS-135
1.9. Free text
SDOC-SRS-107
6.2.2. Create document
SDOC-SRS-108
6.2.3. Delete document
SDOC-SRS-201
6.3.1. Format-specific document handling
SDOC-SRS-54
6.3.2. Read document
SDOC-SRS-106
6.3.3. Create node
SDOC-SSS-91
2.2. Browsing documentation tree
SDOC-SRS-53
6.2.1. View project tree
SDOC-SSS-51
2.3. Documents with nested sections/chapters structure
SDOC-SRS-99
1.8. Section model
SDOC-SSS-52
2.4. Assembling documents from fragments
ZEP-1
1. Multiple files / include mechanism
SDOC-SRS-109
1.10. Composeable document
SDOC-SRS-122
2.9. Importable grammars
SDOC-SSS-53
2.5. Document meta information (UID, version, authors, signatures, etc)
SDOC-SRS-110
1.6. Document metadata
SDOC-SRS-151
1.7. Document configuration
SDOC-SSS-75
2.6. Document versioning
SDOC-SRS-110
1.6. Document metadata
SDOC-SRS-151
1.7. Document configuration
SDOC-SRS-111
6.13.1. Project tree diff
SDOC-SSS-63
2.7. Text formatting capabilities
ZEP-9
9. Text formatting capabilities
SDOC-SRS-24
2.11. Format-specific markup-to-HTML fragment writers
SDOC-SRS-27
2.12. MathJAX
SDOC-SSS-95
2.8. Content search
SDOC-SRS-155
6.14.1. Content search
SECTION-RTS-Requirements-management
3. Requirements management
SDOC-SSS-4
3.1. Requirements CRUD
SDOC-SRS-26
1.2. Requirement model
SDOC-SRS-55
6.3.5. Update node
SDOC-SSS-61
3.2. Minimal requirement field set
ZEP-10
10. Minimal requirement field set
ZEP-14
14. Status field
SDOC-SRS-132
1.4. Requirement model default fields
SDOC-SRS-93
2.7. Default grammar fields
SDOC-SSS-62
3.3. Custom fields
ZEP-3
3. Custom fields
SDOC-SRS-100
1.3. Requirement model fields
SDOC-SRS-21
2.8. Custom grammar / fields
SDOC-SRS-56
6.3.10. Edit Document grammar
SDOC-SSS-64
3.4. Structuring requirements in documents
ZEP-13
13. Structuring requirements in documents
SDOC-SRS-98
1.5. Document model
SDOC-SRS-105
2.5. One document per one SDoc file
SDOC-SSS-5
3.5. Move requirement nodes within document
SDOC-SRS-92
6.3.9. Move requirement / section nodes within document
SDOC-SSS-70
3.6. Move nodes between documents
SDOC-SRS-94
3.18. Move requirement / section nodes between documents
SDOC-SSS-6
3.7. Auto-provision of Requirement UIDs
ZEP-8
8. Unique ID management
SDOC-SRS-96
6.3.12. Auto-generate requirements UIDs
SDOC-SRS-120
6.3.13. Auto-completion for requirements UIDs
SDOC-SRS-85
9.2.1.1. Auto-generate requirements UIDs
SDOC-SSS-7
3.8. Link requirements together
ZEP-4
4. Links
SDOC-SRS-31
1.11. Requirement relations
SDOC-SRS-28
4.1. Traceability index
SDOC-SRS-159
6.3.7. Create node relation
SDOC-SRS-158
6.3.8. Update node relation
SDOC-SSS-8
3.9. Multiple link roles
ZEP-5
5. Multiple link roles
SDOC-SRS-101
1.12. Requirement relation roles
SDOC-SSS-71
3.10. Reverse parent links
SDOC-SRS-102
4.5. Automatic resolution of reverse relations
SDOC-SSS-89
3.11. Unique identification of requirements
SDOC-SRS-22
2.10. UID identifier format
SDOC-SRS-29
4.2. Uniqueness UID in tree
SDOC-SSS-47
3.12. Requirements database consistency checks
SDOC-SRS-30
4.3. Detect links cycles
SDOC-SRS-32
4.4. Link document nodes
SDOC-SSS-57
3.13. Requirement syntax validation (e.g. EARS)
SDOC-SRS-116
3.15. Requirement validation according to EARS syntax
SECTION-SSSS-Existing-workflows
4. Existing workflows
SDOC-SSS-73
4.1. Excel-like viewing and editing of requirements
SDOC-SRS-62
6.4.1. View TBL screen
SDOC-SSS-56
4.2. 1000-feet view
SDOC-SRS-113
3.4.1. Traceability navigator
SDOC-SSS-28
4.3. Traceability matrices
SDOC-SRS-65
6.5.1. View TR screen
SDOC-SRS-112
6.12.1. Traceability matrix
SDOC-SSS-48
4.4. Compliance matrices
SDOC-SRS-31
1.11. Requirement relations
SDOC-SRS-102
4.5. Automatic resolution of reverse relations
SDOC-SSS-29
4.5. Requirements coverage
SDOC-SRS-97
6.8.1. Display project statistics
SDOC-SRS-157
6.9.1. Tree map
SDOC-SSS-49
4.6. Progress report
SDOC-SRS-97
6.8.1. Display project statistics
SDOC-SRS-154
6.8.2. Support for user-provided custom statistics generators
SDOC-SSS-74
4.7. Change management
SDOC-SRS-111
6.13.1. Project tree diff
SDOC-SRS-131
3.14.2. Update notifications
SDOC-SRS-117
3.23.1. Impact analysis
SECTION-RTS-Requirements-and-source-code
5. Requirements and source code
SDOC-SSS-72
5.1. Traceability between requirements and source code
ZEP-11
11. Requirements to source code traceability
ZEP-12
12. Non-intrusive links in source code
SDOC-SRS-35
6.10.1. Project source code coverage
SDOC-SRS-36
6.11.1. Single source file coverage
SDOC-SRS-33
7.1. Link requirements with source files
SDOC-SRS-34
7.6.1. Relation markers syntax
SDOC-SRS-124
7.6.2. Line marker
SDOC-SRS-137
7.6.3. Language element marker
SDOC-SRS-139
7.6.4. File marker
SDOC-SRS-138
7.6.5. Range marker
SECTION-RTS-Requirements-exchange-formats-export-import
6. Requirements exchange formats (export/import)
SDOC-SSS-96
6.1. PDF export
SDOC-SRS-51
6.7.1. Export to HTML content to PDF (HTML2PDF)
SDOC-SSS-58
6.2. ReqIF export/import
ZEP-6
6. ReqIF export
SDOC-SRS-18
1.1. Data model
SDOC-SRS-72
8.2.1. Export/import from/to ReqIF
SDOC-SSS-59
6.3. CSV export/import
ZEP-7
7. CSV
SDOC-SSS-60
6.4. Excel export/import
SDOC-SRS-74
8.3.1. Export to Excel
SDOC-SRS-152
8.3.2. Import from Excel
SDOC-SRS-134
8.3.3. Selected fields export
[No UID]
7. Tool configurability
SDOC-SSS-92
7.1. Project-level configuration
SDOC-SRS-37
13.1. strictdoc.toml file
SDOC-SRS-39
13.2. Feature toggles
SDOC-SSS-93
7.2. Document-level configuration
SDOC-SRS-57
6.3.11. Edit Document options
SECTION-SSSS-Performance
8. Performance
SDOC-SSS-13
8.1. Support large requirements sets
SDOC-SRS-32
4.4. Link document nodes
SDOC-SRS-1
14.1. Process-based parallelization
SDOC-SRS-95
14.2. Caching of parsed SDoc documents
SDOC-SRS-2
14.3. Incremental generation of documents
SDOC-SRS-3
14.4. Caching of RST fragments
SDOC-SRS-4
14.5. On-demand loading of HTML pages
SDOC-SRS-5
14.6. Precompiled Jinja templates
SDOC-SSS-14
8.2. Support large project trees
SDOC-SRS-32
4.4. Link document nodes
SDOC-SRS-1
14.1. Process-based parallelization
SDOC-SRS-95
14.2. Caching of parsed SDoc documents
SDOC-SRS-2
14.3. Incremental generation of documents
SDOC-SRS-3
14.4. Caching of RST fragments
SDOC-SRS-4
14.5. On-demand loading of HTML pages
SDOC-SRS-5
14.6. Precompiled Jinja templates
[No UID]
9. Data integrity
SDOC-SSS-94
9.1. Data integrity of documentation/requirements
SDOC-SRS-136
2.2. Identical SDoc content by import/export roundtrip
SDOC-SRS-127
2.3. SDoc and Git storage
SDOC-SRS-19
2.6. Fixed grammar
SDOC-SRS-25
2.14. Type-safe fields
SDOC-SRS-29
4.2. Uniqueness UID in tree
SDOC-SRS-30
4.3. Detect links cycles
SDOC-LLR-196
1.4. Identical Markdown content by import/export roundtrip
SECTION-RTC-Usability-installation-and-usage
10. Usability, installation and usage
SDOC-SSS-79
10.1. General usability
SDOC-SRS-50
6.1.2. Web interface
SDOC-SRS-125
10.1. StrictDoc Python API
SDOC-SRS-114
3.13. Web API
SDOC-SSS-97
10.2. Tool identification
SDOC-SRS-163
12.1. StrictDoc identification
SDOC-SSS-80
10.3. Easy user experience
SDOC-SRS-104
2.4. SDoc file extension
SDOC-SRS-50
6.1.2. Web interface
SDOC-SRS-48
6.1.4. Preserve generated file names
SDOC-SRS-96
6.3.12. Auto-generate requirements UIDs
SDOC-SRS-120
6.3.13. Auto-completion for requirements UIDs
SDOC-SRS-59
6.3.14. Buttons to copy text to buffer
SDOC-SRS-121
3.16. WYSIWYG editing
SDOC-SSS-81
10.4. Support projects with a large number of users
SDOC-SRS-123
6.1.3. Multi-user editing of documents
SDOC-SSS-82
10.5. Individual use (home PC)
SDOC-SRS-87
15.4.5. Monolithic application with no microservices
SDOC-SRS-88
15.4.6. No reliance on containerization
SDOC-SRS-12
16.1.1. GitHub
SDOC-SSS-83
10.6. Server-based deployments (IT-friendly setup)
SDOC-SRS-126
11.1. Web server
SDOC-SSS-84
10.7. Requirements database
SDOC-SRS-127
2.3. SDoc and Git storage
SDOC-SSS-85
10.8. Programming access via API (Web)
SDOC-SRS-114
3.13. Web API
SDOC-SSS-86
10.9. Programming access via API (SDK)
SDOC-SRS-125
10.1. StrictDoc Python API
SDOC-SSS-87
10.10. Programmatic access to requirements data
SDOC-SRS-127
2.3. SDoc and Git storage
SDOC-SRS-125
10.1. StrictDoc Python API
SECTION-SSSS-Implementation-suggestions
11. Implementation suggestions
SDOC-SSS-30
11.1. Static HTML export
SDOC-SRS-49
6.1.1. Export to static HTML website
SDOC-SSS-31
11.2. Graphical user interface (GUI)
SDOC-SRS-50
6.1.2. Web interface
SDOC-SSS-32
11.3. Command-line interface
SDOC-SRS-103
9.1.1. Command-line interface
SDOC-SSS-68
11.4. Web API interface
SDOC-SRS-114
3.13. Web API
SDOC-SSS-33
11.5. Version control (Git)
SDOC-SRS-127
2.3. SDoc and Git storage
SDOC-SSS-67
11.6. Support major operating systems
SDOC-SRS-9
15.3.2.1. Linux
SDOC-SRS-10
15.3.2.2. macOS
SDOC-SRS-11
15.3.2.3. Windows
SDOC-SSS-69
11.7. Conservative languages for implementation
SDOC-SRS-8
15.3.1.1. Python language
SDOC-SSS-90
11.8. Long-term maintainability of a tool
SDOC-SRS-73
8.2.2. Standalone ReqIF layer
SDOC-SRS-14
15.4.2. No heavy UI frameworks
SDOC-SRS-15
15.4.3. No use of NPM
SDOC-SRS-16
15.4.4. No use of JavaScript replacement languages (e.g., Typescript)
SDOC-SRS-42
15.6.1. Compliance with Python community practices (PEP8 etc)
SECTION-RTS-Text-based-requirements-language
12. Text-based requirements language (optional)
SDOC-SSS-88
12.1. Text files for storing documentation and requirements
SDOC-SRS-18
1.1. Data model
SDOC-SRS-20
2.1. SDoc markup language
SDOC-SSS-55
12.2. Strict text language syntax
SDOC-SRS-19
2.6. Fixed grammar
SDOC-SRS-23
2.13. No indentation
SDOC-SRS-25
2.14. Type-safe fields
SDOC-SSS-54
12.3. Machine-readable format
ZEP-2
2. Clear separation of requirements (machine-readable)
SDOC-SRS-19
2.6. Fixed grammar
SDOC-SSS-34
12.4. Requirements data from multiple repositories
SDOC-SRS-115
5.1. Finding documents recursively
SECTION-RTS-Requirements-collaboration
13. Collaboration on requirements
SDOC-SSS-65
13.1. Support user accounts
SDOC-SRS-130
3.14.1. User accounts
SDOC-SSS-66
13.2. Send notifications about updated requirements
SDOC-SRS-131
3.14.2. Update notifications
SECTION-SSSS-Development-process
14. Development process
SDOC-SSS-76
14.1. Requirements engineering
SDOC-SRS-128
15.2.1. Requirements-based development
SDOC-SSS-50
14.2. Self-hosted requirements
ZEP-15
15. Tool Qualifiability
SDOC-SRS-91
15.2.2. Self-hosted requirements
SDOC-SSS-77
14.3. Test coverage
SDOC-SRS-44
15.8.1. Unit testing
SDOC-SRS-45
15.8.2. CLI interface black-box integration testing
SDOC-SRS-46
15.8.3. Web end-to-end testing
SDOC-SRS-47
15.8.4. At least one integration or end-to-end test
SDOC-SSS-78
14.4. Tool qualification
SDOC-SRS-6
12.2.1. Warnings are errors
SDOC-SRS-133
15.1.1. Priority handling of critical issues in StrictDoc
SDOC-SRS-128
15.2.1. Requirements-based development
SDOC-SRS-91
15.2.2. Self-hosted requirements
SDOC-SRS-40
15.5.1. Use of asserts
SDOC-SRS-41
15.5.2. Use of type annotations in Python code
SDOC-SRS-43
15.7.1. Static type checking
SDOC-SRS-44
15.8.1. Unit testing
SDOC-SRS-45
15.8.2. CLI interface black-box integration testing
SDOC-SRS-46
15.8.3. Web end-to-end testing
SDOC-SRS-47
15.8.4. At least one integration or end-to-end test
SECTION-SSSS-Licensing-and-distribution
15. Licensing and distribution
SDOC-SSS-38
15.1. Open source
SDOC-SRS-12
16.1.1. GitHub
SDOC-SSS-39
15.2. Only open source dependencies
SDOC-SRS-89
15.4.1. Use of open source components
SDOC-SSS-40
15.3. Free
SDOC-SRS-118
16.2. StrictDoc license
StrictDoc High-Level Requirements (L2)
[No UID]
1. SDoc data model
SDOC-SRS-18
1.1. Data model
SDOC-SSS-88
12.1. Text files for storing documentation and requirements
SDOC-SSS-58
6.2. ReqIF export/import
SDOC-SRS-26
1.2. Requirement model
SDOC-SSS-4
3.1. Requirements CRUD
SDOC-SRS-100
1.3. Requirement model fields
SDOC-SSS-62
3.3. Custom fields
SDOC-SRS-132
1.4. Requirement model default fields
SDOC-SSS-61
3.2. Minimal requirement field set
SDOC-SRS-98
1.5. Document model
SDOC-SSS-64
3.4. Structuring requirements in documents
SDOC-SRS-110
1.6. Document metadata
SDOC-SSS-53
2.5. Document meta information (UID, version, authors, signatures, etc)
SDOC-SSS-75
2.6. Document versioning
SDOC-SRS-151
1.7. Document configuration
SDOC-SSS-53
2.5. Document meta information (UID, version, authors, signatures, etc)
SDOC-SSS-75
2.6. Document versioning
SDOC-SRS-99
1.8. Section model
SDOC-SSS-51
2.3. Documents with nested sections/chapters structure
SDOC-SRS-135
1.9. Free text
SDOC-SSS-3
2.1. Documents (CRUD)
SDOC-SRS-109
1.10. Composeable document
SDOC-SSS-52
2.4. Assembling documents from fragments
DO178-4
1.5. Document fragments in separate files
SDOC-SRS-31
1.11. Requirement relations
SDOC-SSS-7
3.8. Link requirements together
SDOC-SSS-48
4.4. Compliance matrices
SDOC-SRS-101
1.12. Requirement relation roles
SDOC-SSS-8
3.9. Multiple link roles
SDOC-SRS-149
1.13. Inline links
SDOC-SRS-150
1.14. Inline anchors
[No UID]
2. SDoc text markup
SDOC-SRS-20
2.1. SDoc markup language
SDOC-SSS-88
12.1. Text files for storing documentation and requirements
SDOC-SRS-136
2.2. Identical SDoc content by import/export roundtrip
SDOC-SSS-94
9.1. Data integrity of documentation/requirements
SDOC-SRS-127
2.3. SDoc and Git storage
SDOC-SSS-87
10.10. Programmatic access to requirements data
SDOC-SSS-33
11.5. Version control (Git)
SDOC-SSS-84
10.7. Requirements database
SDOC-SSS-94
9.1. Data integrity of documentation/requirements
SDOC-SRS-104
2.4. SDoc file extension
SDOC-SSS-80
10.3. Easy user experience
SDOC-SRS-105
2.5. One document per one SDoc file
SDOC-SSS-64
3.4. Structuring requirements in documents
DO178-1
1.1. Document concept
SDOC-SRS-19
2.6. Fixed grammar
DO178-2
1.2. Strict specified grammar
SDOC-SSS-55
12.2. Strict text language syntax
SDOC-SSS-54
12.3. Machine-readable format
SDOC-SSS-94
9.1. Data integrity of documentation/requirements
SDOC-SRS-93
2.7. Default grammar fields
SDOC-SSS-61
3.2. Minimal requirement field set
SDOC-SRS-21
2.8. Custom grammar / fields
SDOC-SSS-62
3.3. Custom fields
SDOC-SRS-122
2.9. Importable grammars
DO178-9
1.11. Project-level grammar
SDOC-SSS-52
2.4. Assembling documents from fragments
SDOC-SRS-22
2.10. UID identifier format
SDOC-SSS-89
3.11. Unique identification of requirements
SDOC-SRS-24
2.11. Format-specific markup-to-HTML fragment writers
SDOC-SSS-63
2.7. Text formatting capabilities
SDOC-SRS-27
2.12. MathJAX
SDOC-SSS-63
2.7. Text formatting capabilities
SDOC-SRS-23
2.13. No indentation
SDOC-SSS-55
12.2. Strict text language syntax
SDOC-SRS-25
2.14. Type-safe fields
SDOC-SSS-55
12.2. Strict text language syntax
SDOC-SSS-94
9.1. Data integrity of documentation/requirements
[No UID]
3. Markdown markup
SDOC-SRS-202
3.1. Markdown support
SDOC-LLR-183
1.1. Read Markdown markup
SDOC-LLR-197
1.2. Write Markdown markup
SDOC-LLR-192
1.3. Markdown files discovery
SECTION-SRS-Graph-database
4. Graph database
SDOC-SRS-28
4.1. Traceability index
SDOC-SSS-7
3.8. Link requirements together
SDOC-SRS-29
4.2. Uniqueness UID in tree
SDOC-SSS-89
3.11. Unique identification of requirements
SDOC-SSS-94
9.1. Data integrity of documentation/requirements
SDOC-SRS-30
4.3. Detect links cycles
SDOC-SSS-47
3.12. Requirements database consistency checks
SDOC-SSS-94
9.1. Data integrity of documentation/requirements
SDOC-SRS-32
4.4. Link document nodes
SDOC-SSS-47
3.12. Requirements database consistency checks
SDOC-SSS-13
8.1. Support large requirements sets
SDOC-SSS-14
8.2. Support large project trees
SDOC-SRS-102
4.5. Automatic resolution of reverse relations
SDOC-SSS-71
3.10. Reverse parent links
SDOC-SSS-48
4.4. Compliance matrices
[No UID]
5. Documentation tree
SDOC-SRS-115
5.1. Finding documents recursively
SDOC-SSS-34
12.4. Requirements data from multiple repositories
DO178-3
1.4. Multiple git repositories document assembly
SDOC-LLR-192
1.3. Markdown files discovery
SECTION-SRS-Web-HTML-frontend
6. Web/HTML frontend
SECTION-SRS-General-export-requirements-2
6.1. General export requirements
SDOC-SRS-49
6.1.1. Export to static HTML website
SDOC-SSS-30
11.1. Static HTML export
SDOC-SRS-50
6.1.2. Web interface
SDOC-SSS-31
11.2. Graphical user interface (GUI)
DO178-6
1.7. Graphical user interface (GUI)
SDOC-SSS-79
10.1. General usability
SDOC-SSS-80
10.3. Easy user experience
SDOC-SRS-123
6.1.3. Multi-user editing of documents
DO178-17
2.7. Multi-user editing of documents
SDOC-SSS-81
10.4. Support projects with a large number of users
SDOC-SRS-48
6.1.4. Preserve generated file names
SDOC-SSS-80
10.3. Easy user experience
SECTION-SRS-Screen-Project-tree
6.2. Screen: Project tree
SDOC-SRS-53
6.2.1. View project tree
SDOC-SSS-91
2.2. Browsing documentation tree
SDOC-SRS-107
6.2.2. Create document
SDOC-SSS-3
2.1. Documents (CRUD)
SDOC-SRS-108
6.2.3. Delete document
SDOC-SSS-3
2.1. Documents (CRUD)
SECTION-SRS-Screen-Document-DOC
6.3. Screen: Document (DOC)
SDOC-SRS-201
6.3.1. Format-specific document handling
SDOC-SSS-3
2.1. Documents (CRUD)
SDOC-SRS-54
6.3.2. Read document
SDOC-SSS-3
2.1. Documents (CRUD)
SDOC-SRS-106
6.3.3. Create node
SDOC-SSS-3
2.1. Documents (CRUD)
SDOC-SRS-161
6.3.4. Clone node from existing node
SDOC-SRS-55
6.3.5. Update node
SDOC-SSS-4
3.1. Requirements CRUD
SDOC-SRS-162
6.3.6. Delete node
SDOC-SRS-159
6.3.7. Create node relation
SDOC-SSS-7
3.8. Link requirements together
SDOC-SRS-158
6.3.8. Update node relation
SDOC-SSS-7
3.8. Link requirements together
SDOC-SRS-92
6.3.9. Move requirement / section nodes within document
SDOC-SSS-5
3.5. Move requirement nodes within document
SDOC-SRS-56
6.3.10. Edit Document grammar
SDOC-SSS-62
3.3. Custom fields
SDOC-SRS-57
6.3.11. Edit Document options
SDOC-SSS-93
7.2. Document-level configuration
SDOC-SRS-96
6.3.12. Auto-generate requirements UIDs
SDOC-SSS-6
3.7. Auto-provision of Requirement UIDs
SDOC-SSS-80
10.3. Easy user experience
SDOC-SRS-120
6.3.13. Auto-completion for requirements UIDs
SDOC-SSS-6
3.7. Auto-provision of Requirement UIDs
DO178-14
1.3. Requirement UID autocompletion
SDOC-SSS-80
10.3. Easy user experience
SDOC-SRS-59
6.3.14. Buttons to copy text to buffer
SDOC-SSS-80
10.3. Easy user experience
SECTION-SRS-Screen-Table-TBL
6.4. Screen: Table (TBL)
SDOC-SRS-62
6.4.1. View TBL screen
SDOC-SSS-73
4.1. Excel-like viewing and editing of requirements
SECTION-SRS-Screen-Traceability-TR
6.5. Screen: Traceability (TR)
SDOC-SRS-65
6.5.1. View TR screen
SDOC-SSS-28
4.3. Traceability matrices
SECTION-SRS-Screen-Deep-traceability-DTR
6.6. Screen: Deep traceability (DTR)
SDOC-SRS-66
6.6.1. View DTR screen
DO178-12
2.5. Uncovered requirement report
[No UID]
6.7. Screen: HTML2PDF
SDOC-SRS-51
6.7.1. Export to HTML content to PDF (HTML2PDF)
DO178-5
1.6. PDF and HTML publishing
SDOC-SSS-96
6.1. PDF export
SDOC-SRS-203
6.7.2. Cross-linking PDF documents from same project tree
SDOC-LLR-204
2.2. Use of PyPDF for PDF postprocessing
SDOC-LLR-205
2.3. Cross-linking PDF documents from one project tree
SDOC-SRS-160
6.7.3. Custom PDF export template
[No UID]
6.8. Screen: Project statistics
SDOC-SRS-97
6.8.1. Display project statistics
SDOC-SSS-49
4.6. Progress report
DO178-12
2.5. Uncovered requirement report
SDOC-SSS-29
4.5. Requirements coverage
SDOC-SRS-154
6.8.2. Support for user-provided custom statistics generators
SDOC-SSS-49
4.6. Progress report
[No UID]
6.9. Screen: Document tree map
SDOC-SRS-157
6.9.1. Tree map
SDOC-SSS-29
4.5. Requirements coverage
[No UID]
6.10. Screen: Source coverage
SDOC-SRS-35
6.10.1. Project source code coverage
SDOC-SSS-72
5.1. Traceability between requirements and source code
DO178-13
1.10. Source file coverage
[No UID]
6.11. Screen: Single source file coverage
SDOC-SRS-36
6.11.1. Single source file coverage
SDOC-SSS-72
5.1. Traceability between requirements and source code
[No UID]
6.12. Screen: Traceability matrix
SDOC-SRS-112
6.12.1. Traceability matrix
SDOC-SSS-28
4.3. Traceability matrices
DO178-10
2.3. Traceability matrices
DO178-12
2.5. Uncovered requirement report
[No UID]
6.13. Screen: Project tree diff
SDOC-SRS-111
6.13.1. Project tree diff
SDOC-SSS-75
2.6. Document versioning
SDOC-SSS-74
4.7. Change management
DO178-15
2.2. Diff between document trees
[No UID]
6.14. Content search
SDOC-SRS-155
6.14.1. Content search
SDOC-SSS-95
2.8. Content search
SDOC-SRS-156
6.1. Static HTML search
SECTION-SRS-Requirements-to-source-traceability
7. Requirements-to-source traceability
SDOC-SRS-33
7.1. Link requirements with source files
SDOC-SSS-72
5.1. Traceability between requirements and source code
[No UID]
7.2. Language-aware parsing of source code
SDOC-SRS-142
7.2.1. Language-aware parsing of source code
SDOC-SRS-146
7.2.2. Language-aware parsing of C/C++ code
SDOC-SRS-147
7.2.3. Language-aware parsing of Python code
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-164
3.1.1. Auto-scoped relation markers in Rust docs
SDOC-LLR-165
3.1.2. Inner doc attributes
SDOC-LLR-166
3.1.3. Inner line docs
SDOC-LLR-167
3.1.4. Inner block docs
SDOC-LLR-168
3.1.5. Outer doc attributes
SDOC-LLR-169
3.1.6. Outer line docs
SDOC-LLR-170
3.1.7. Outer block docs
SDOC-LLR-171
3.1.8. File, line and range markers
SDOC-LLR-172
3.1.9. Source nodes from doc comments
SDOC-LLR-173
3.1.10. Forward relations to Rust items
SDOC-LLR-174
3.1.11. Forward relation by canonical path
SDOC-LLR-175
3.1.12. Collapse doc comments
SDOC-LLR-176
3.1.13. Rust marker descriptions
SDOC-LLR-177
3.1.14. Valid positions of doc comments
SDOC-LLR-178
3.1.15. Inner doc comments for functions
SDOC-LLR-179
3.1.16. Inner doc comments for modules
SDOC-LLR-180
3.1.17. Inner doc comments for external blocks
SDOC-LLR-181
3.1.18. Inner doc comments for implementation blocks
SDOC-LLR-182
3.1.19. Allowed position for outer docs
SDOC-SRS-148
7.2.5. Language-aware parsing of Robot framework code
SDOC-SRS-143
7.3. Link requirements with test files and test reports
SDOC-SRS-144
7.4. Link requirements with code coverage information
[No UID]
7.5. Forward linking from requirements to source code
SDOC-SRS-145
7.5.1. SDoc markup's forward relations
[No UID]
7.6. Source code markup – Relations
SDOC-SRS-34
7.6.1. Relation markers syntax
SDOC-SSS-72
5.1. Traceability between requirements and source code
SDOC-LLR-164
3.1.1. Auto-scoped relation markers in Rust docs
SDOC-SRS-124
7.6.2. Line marker
SDOC-SSS-72
5.1. Traceability between requirements and source code
SDOC-LLR-171
3.1.8. File, line and range markers
SDOC-SRS-137
7.6.3. Language element marker
SDOC-SSS-72
5.1. Traceability between requirements and source code
SDOC-LLR-212
1.16. Support for file relations
SDOC-LLR-164
3.1.1. Auto-scoped relation markers in Rust docs
SDOC-SRS-139
7.6.4. File marker
SDOC-SSS-72
5.1. Traceability between requirements and source code
SDOC-LLR-212
1.16. Support for file relations
SDOC-LLR-171
3.1.8. File, line and range markers
SDOC-SRS-138
7.6.5. Range marker
SDOC-SSS-72
5.1. Traceability between requirements and source code
SDOC-LLR-212
1.16. Support for file relations
SDOC-LLR-171
3.1.8. File, line and range markers
[No UID]
7.7. Source code markup – Nodes
SDOC-SRS-141
7.7.1. Parse nodes from source code
SDOC-LLR-172
3.1.9. Source nodes from doc comments
SECTION-SRS-Export-import-formats
8. Export/import formats
SECTION-SRS-RST
8.1. RST
SDOC-SRS-70
8.1.1. Export to RST
DO178-5
1.6. PDF and HTML publishing
DO178-16
2.6. Interoperability with Sphinx
SDOC-SRS-71
8.1.2. Docutils
DO178-5
1.6. PDF and HTML publishing
DO178-16
2.6. Interoperability with Sphinx
SECTION-SRS-ReqIF
8.2. ReqIF
SDOC-SRS-72
8.2.1. Export/import from/to ReqIF
SDOC-SSS-58
6.2. ReqIF export/import
SDOC-SRS-73
8.2.2. Standalone ReqIF layer
SDOC-SSS-90
11.8. Long-term maintainability of a tool
SECTION-SRS-Excel
8.3. Excel and CSV
SDOC-SRS-74
8.3.1. Export to Excel
SDOC-SSS-60
6.4. Excel export/import
SDOC-SRS-152
8.3.2. Import from Excel
SDOC-SSS-60
6.4. Excel export/import
SDOC-SRS-134
8.3.3. Selected fields export
SDOC-SSS-60
6.4. Excel export/import
SECTION-SRS-Command-line-interface
9. Command-line interface
[No UID]
9.1. General CLI requirements
SDOC-SRS-103
9.1.1. Command-line interface
SDOC-SSS-32
11.3. Command-line interface
SECTION-SRS-Command-Manage
9.2. Command: Manage
SECTION-SRS-Command-Auto-UID
9.2.1. Command: Auto UID
SDOC-SRS-85
9.2.1.1. Auto-generate requirements UIDs
SDOC-SSS-6
3.7. Auto-provision of Requirement UIDs
[No UID]
10. Python API
SDOC-SRS-125
10.1. StrictDoc Python API
SDOC-SSS-79
10.1. General usability
SDOC-SSS-86
10.9. Programming access via API (SDK)
SDOC-SSS-87
10.10. Programmatic access to requirements data
[No UID]
11. Web server
SDOC-SRS-126
11.1. Web server
SDOC-SSS-83
10.6. Server-based deployments (IT-friendly setup)
[No UID]
12. User experience
SDOC-SRS-163
12.1. StrictDoc identification
SDOC-SSS-97
10.2. Tool identification
SECTION-SSRS-Strict-mode-by-default
12.2. Strict mode by default
SDOC-SRS-6
12.2.1. Warnings are errors
SDOC-SSS-78
14.4. Tool qualification
SECTION-SRS-Configurability
13. Configurability
SDOC-SRS-37
13.1. strictdoc.toml file
SDOC-SSS-92
7.1. Project-level configuration
SDOC-SRS-39
13.2. Feature toggles
SDOC-SSS-92
7.1. Project-level configuration
SDOC-SRS-119
13.3. 'Host' parameter
DO178-8
1.8. Configuration: 'Host' parameter
SECTION-SSRS-Performance
14. Performance
SDOC-SRS-1
14.1. Process-based parallelization
SDOC-SSS-13
8.1. Support large requirements sets
SDOC-SSS-14
8.2. Support large project trees
SDOC-SRS-95
14.2. Caching of parsed SDoc documents
SDOC-SSS-13
8.1. Support large requirements sets
SDOC-SSS-14
8.2. Support large project trees
SDOC-SRS-2
14.3. Incremental generation of documents
SDOC-SSS-13
8.1. Support large requirements sets
SDOC-SSS-14
8.2. Support large project trees
SDOC-SRS-3
14.4. Caching of RST fragments
SDOC-SSS-13
8.1. Support large requirements sets
SDOC-SSS-14
8.2. Support large project trees
SDOC-SRS-4
14.5. On-demand loading of HTML pages
SDOC-SSS-13
8.1. Support large requirements sets
SDOC-SSS-14
8.2. Support large project trees
SDOC-SRS-5
14.6. Precompiled Jinja templates
SDOC-SSS-13
8.1. Support large requirements sets
SDOC-SSS-14
8.2. Support large project trees
SECTION-SRS-Quality-requirements
15. Development process requirements
[No UID]
15.1. General process
SDOC-SRS-133
15.1.1. Priority handling of critical issues in StrictDoc
SDOC-SSS-78
14.4. Tool qualification
SECTION-SRS-Requirements-engineering
15.2. Requirements engineering
SDOC-SRS-128
15.2.1. Requirements-based development
SDOC-SSS-78
14.4. Tool qualification
SDOC-SSS-76
14.1. Requirements engineering
SDOC-SRS-91
15.2.2. Self-hosted requirements
SDOC-SSS-50
14.2. Self-hosted requirements
SDOC-SSS-78
14.4. Tool qualification
SECTION-SRS-Implementation-requirements
15.3. Implementation requirements
SECTION-SRS-Programming-languages
15.3.1. Programming languages
SDOC-SRS-8
15.3.1.1. Python language
SDOC-SSS-69
11.7. Conservative languages for implementation
SECTION-SRS-Cross-platform-availability
15.3.2. Cross-platform availability
SDOC-SRS-9
15.3.2.1. Linux
SDOC-SSS-67
11.6. Support major operating systems
SDOC-SRS-10
15.3.2.2. macOS
SDOC-SSS-67
11.6. Support major operating systems
SDOC-SRS-11
15.3.2.3. Windows
SDOC-SSS-67
11.6. Support major operating systems
SECTION-SRS-Implementation-constraints
15.4. Implementation constraints
SDOC-SRS-89
15.4.1. Use of open source components
DO178-7
1.9. No use of proprietary technology
SDOC-SSS-39
15.2. Only open source dependencies
SDOC-SRS-14
15.4.2. No heavy UI frameworks
SDOC-SSS-90
11.8. Long-term maintainability of a tool
SDOC-SRS-15
15.4.3. No use of NPM
SDOC-SSS-90
11.8. Long-term maintainability of a tool
SDOC-SRS-16
15.4.4. No use of JavaScript replacement languages (e.g., Typescript)
SDOC-SSS-90
11.8. Long-term maintainability of a tool
SDOC-SRS-87
15.4.5. Monolithic application with no microservices
SDOC-SSS-82
10.5. Individual use (home PC)
SDOC-SRS-88
15.4.6. No reliance on containerization
SDOC-SSS-82
10.5. Individual use (home PC)
SECTION-SRS-Coding-constraints
15.5. Coding constraints
SDOC-SRS-40
15.5.1. Use of asserts
SDOC-SSS-78
14.4. Tool qualification
SDOC-SRS-41
15.5.2. Use of type annotations in Python code
SDOC-SSS-78
14.4. Tool qualification
SECTION-SRS-Linting
15.6. Linting
SDOC-SRS-42
15.6.1. Compliance with Python community practices (PEP8 etc)
SDOC-SSS-90
11.8. Long-term maintainability of a tool
SECTION-SRS-Static-analysis
15.7. Static analysis
SDOC-SRS-43
15.7.1. Static type checking
SDOC-SSS-78
14.4. Tool qualification
SECTION-SRS-Testing
15.8. Testing
SDOC-SRS-44
15.8.1. Unit testing
SDOC-SSS-77
14.3. Test coverage
SDOC-SSS-78
14.4. Tool qualification
SDOC-SRS-45
15.8.2. CLI interface black-box integration testing
SDOC-SSS-77
14.3. Test coverage
SDOC-SSS-78
14.4. Tool qualification
SDOC-SRS-46
15.8.3. Web end-to-end testing
SDOC-SSS-77
14.3. Test coverage
SDOC-SSS-78
14.4. Tool qualification
SDOC-SRS-47
15.8.4. At least one integration or end-to-end test
SDOC-SSS-77
14.3. Test coverage
SDOC-SSS-78
14.4. Tool qualification
[No UID]
16. Code hosting and distribution
SECTION-SRS-Code-hosting
16.1. Code hosting
SDOC-SRS-12
16.1.1. GitHub
SDOC-SSS-38
15.1. Open source
SDOC-SSS-82
10.5. Individual use (home PC)
SDOC-SRS-118
16.2. StrictDoc license
SDOC-SSS-40
15.3. Free
StrictDoc Low-Level Requirements Specification (L3)
[No UID]
1. Markdown text markup
SDOC-LLR-183
1.1. Read Markdown markup
SDOC-SRS-202
3.1. Markdown support
SDOC-LLR-197
1.2. Write Markdown markup
SDOC-SRS-202
3.1. Markdown support
SDOC-LLR-192
1.3. Markdown files discovery
SDOC-SRS-202
3.1. Markdown support
SDOC-SRS-115
5.1. Finding documents recursively
SDOC-LLR-196
1.4. Identical Markdown content by import/export roundtrip
SDOC-SSS-94
9.1. Data integrity of documentation/requirements
SDOC-LLR-191
1.5. Markdown formats
SDOC-LLR-186
1.6. Meta fields vs content fields
SDOC-LLR-189
1.7. One Markdown file — One SDoc document
SDOC-LLR-195
1.8. Strict ban for redundant empty lines
SDOC-LLR-194
1.9. Syntax for meta and content field names
SDOC-LLR-184
1.10. Three conventions for meta fields
SDOC-LLR-185
1.11. Valid formats for multi-line fields
SDOC-LLR-210
1.12. Lists for meta fields
SDOC-LLR-211
1.13. Dictionary types
SDOC-LLR-202
1.14. Support for relations
SDOC-LLR-209
1.15. Support node parent and child relations
SDOC-LLR-212
1.16. Support for file relations
SDOC-SRS-139
7.6.4. File marker
SDOC-SRS-137
7.6.3. Language element marker
SDOC-SRS-138
7.6.5. Range marker
SDOC-LLR-193
1.17. Valid SDoc node criteria
SDOC-LLR-200
1.18. Valid SDoc document root node
SDOC-LLR-190
1.19. Reading rules — Default grammar for MVP
SDOC-LLR-199
1.20. Reading rules — Node hierarchy
SDOC-LLR-198
1.21. Writing rules — Default grammar for MVP
SDOC-LLR-187
1.22. Robust Markdown backend
[No UID]
2. HTML2PDF export
SDOC-LLR-203
2.1. Use of html2pdf4doc
SDOC-LLR-204
2.2. Use of PyPDF for PDF postprocessing
SDOC-SRS-203
6.7.2. Cross-linking PDF documents from same project tree
SDOC-LLR-205
2.3. Cross-linking PDF documents from one project tree
SDOC-SRS-203
6.7.2. Cross-linking PDF documents from same project tree
[No UID]
3. Source code parsing
[No UID]
3.1. Rust
SDOC-LLR-164
3.1.1. Auto-scoped relation markers in Rust docs
SDOC-SRS-34
7.6.1. Relation markers syntax
SDOC-SRS-137
7.6.3. Language element marker
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-165
3.1.2. Inner doc attributes
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-166
3.1.3. Inner line docs
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-167
3.1.4. Inner block docs
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-168
3.1.5. Outer doc attributes
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-169
3.1.6. Outer line docs
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-170
3.1.7. Outer block docs
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-171
3.1.8. File, line and range markers
SDOC-SRS-139
7.6.4. File marker
SDOC-SRS-124
7.6.2. Line marker
SDOC-SRS-138
7.6.5. Range marker
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-172
3.1.9. Source nodes from doc comments
SDOC-SRS-141
7.7.1. Parse nodes from source code
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-173
3.1.10. Forward relations to Rust items
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-174
3.1.11. Forward relation by canonical path
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-175
3.1.12. Collapse doc comments
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-176
3.1.13. Rust marker descriptions
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-177
3.1.14. Valid positions of doc comments
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-178
3.1.15. Inner doc comments for functions
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-179
3.1.16. Inner doc comments for modules
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-180
3.1.17. Inner doc comments for external blocks
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-181
3.1.18. Inner doc comments for implementation blocks
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
SDOC-LLR-182
3.1.19. Allowed position for outer docs
SDOC-SRS-204
7.2.4. Language-aware parsing of Rust code
[No UID]
3.2. C
SDOC-LLR-206
3.2.1. Macro definitions
SDOC-LLR-207
3.2.2. Forward links to macro definitions using regexes
[No UID]
4. Command-line interface
[No UID]
4.1. "new" command
SDOC-LLR-208
4.1.1. Create initial StrictDoc project
Development Plan
[No UID]
1. Project goals
[No UID]
2. Roadmap
SECTION-DP-Project-milestones
2.1. Project milestones
[No UID]
2.2. Roadmap diagram
[No UID]
2.3. Backlog
[No UID]
2.4. Backlog diagram
[No UID]
3. Versioning
[No UID]
4. Quality
[No UID]
4.1. Bug reporting and tracking
[No UID]
4.2. Linting of code
[No UID]
4.3. Static analysis
[No UID]
4.4. Testing
[No UID]
4.5. Traceability between StrictDoc requirements, code, and tests
[No UID]
4.6. Continuous integration (CI)
[No UID]
5. Python baseline
Design Document
[No UID]
1. Overview
[No UID]
2. Building blocks
SECTION-DD-High-level-architecture
3. High-level architecture
[No UID]
4. StrictDoc command-line application
[No UID]
5. StrictDoc web application
[No UID]
5.1. The HTML Over the Wire (Hotwire) architecture
[No UID]
6. Static HTML search
SDOC-SRS-156
6.1. Static HTML search
SDOC-SRS-155
6.14.1. Content search
[No UID]
7. Parsing SDoc files
SECTION-DD-Caching-artifacts
8. Caching artifacts
[No UID]
9. HTML escaping
[No UID]
10. ReqIF interface
SDOC-SRS-153
10.1. ReqIF-to-SDoc import
StrictDoc Backlog
SECTION-SB-Open-source-requirements-tool-challenges
1. StrictDoc challenges
SDOC-SRS-13
1.1. Real-time editing out of scope
[No UID]
2. Backlog high-level overview
SECTION-SB-Backlog
3. Backlog
SDOC-BACKLOG-6
3.1. Auto-commit to Git repository
SDOC-SRS-86
3.2. Auto-generate section UIDs
SECTION-SRS-Screen-Project-home
3.3. Screen: Project home
SDOC-SRS-52
3.3.1. View project home page
[No UID]
3.4. Screen: Traceability navigator
SDOC-SRS-113
3.4.1. Traceability navigator
SDOC-SSS-56
4.2. 1000-feet view
SECTION-SB-Formal-modeling
3.5. Formal modeling
SDOC-RMC-27
3.5.1. Integration with other systems engineering processes
SDOC-RMC-29
3.5.2. Integration with Capella
SDOC-RMC-55
3.5.3. Support STPA method
SDOC-RMC-28
3.5.4. Formalized statements
SDOC-RMC-30
3.5.5. AI Assistant
SECTION-SRS-LaTeX-export
3.6. LaTeX export
SDOC-SRS-76
3.6.1. Export to Tex
SDOC-BACKLOG-1
3.7. Focused mode: Edit a single section / requirement
SDOC-BACKLOG-2
3.8. Interoperability with Doxygen
SDOC-BACKLOG-3
3.9. Fuzzy search (the whole documentation)
SDOC-BACKLOG-9
3.10. Derived requirements
DO178-18
2.8. Support for Derived requirements
SDOC-BACKLOG-7
3.11. Language Server Protocol (LSP)
SDOC-BACKLOG-8
3.12. UML
SDOC-SRS-114
3.13. Web API
SDOC-SSS-68
11.4. Web API interface
SDOC-SSS-79
10.1. General usability
SDOC-SSS-85
10.8. Programming access via API (Web)
[No UID]
3.14. Multi-user workflow
SDOC-SRS-130
3.14.1. User accounts
SDOC-SSS-65
13.1. Support user accounts
SDOC-SRS-131
3.14.2. Update notifications
SDOC-SSS-66
13.2. Send notifications about updated requirements
SDOC-SSS-74
4.7. Change management
SDOC-SRS-116
3.15. Requirement validation according to EARS syntax
SDOC-SSS-57
3.13. Requirement syntax validation (e.g. EARS)
SDOC-SRS-121
3.16. WYSIWYG editing
DO178-19
2.1. WYSIWYG editing
SDOC-SSS-80
10.3. Easy user experience
SDOC-SRS-61
3.17. Tables HTML editor
SDOC-SRS-94
3.18. Move requirement / section nodes between documents
SDOC-SSS-70
3.6. Move nodes between documents
SDOC-SRS-58
3.19. Attach image to requirement
SDOC-SRS-60
3.20. Provide contextual help about RST markup
SDOC-SRS-63
3.21. TBL: Hide/show columns
SDOC-SRS-64
3.22. TBL: Select/deselect tags
[No UID]
3.23. Screen: Impact analysis
SDOC-SRS-117
3.23.1. Impact analysis
SDOC-SSS-74
4.7. Change management
DO178-11
2.4. Impact analysis
SDOC-SRS-75
3.24. ReqXLS
SECTION-SB-Backlog-Web-based-user-interface
4. Backlog: Web-based user interface
SECTION-SB-Backlog-Nice-to-have
5. Backlog: Nice to have
SECTION-SB-Backlog-Technical-debt
6. Backlog: Technical debt
SECTION-SB-Open-questions
7. Open questions
SECTION-SB-One-or-many-input-sdoc-trees
7.1. One or many input sdoc trees
Credits
[No UID]
1. Contributions to StrictDoc
[No UID]
2. Open source software
[No UID]
3. Hosting and Continuous Integration
[No UID]
4. Free and commercial IDEs by JetBrains
Technical Note: DO-178C requirements tool requirements
SECTION-DR-Already-implemented-features
1. Already implemented features
DO178-1
1.1. Document concept
SDOC-SRS-105
2.5. One document per one SDoc file
DO178-2
1.2. Strict specified grammar
SDOC-SRS-19
2.6. Fixed grammar
DO178-14
1.3. Requirement UID autocompletion
SDOC-SRS-120
6.3.13. Auto-completion for requirements UIDs
DO178-3
1.4. Multiple git repositories document assembly
SDOC-SRS-115
5.1. Finding documents recursively
DO178-4
1.5. Document fragments in separate files
SDOC-SRS-109
1.10. Composeable document
DO178-5
1.6. PDF and HTML publishing
SDOC-SRS-51
6.7.1. Export to HTML content to PDF (HTML2PDF)
SDOC-SRS-70
8.1.1. Export to RST
SDOC-SRS-71
8.1.2. Docutils
DO178-6
1.7. Graphical user interface (GUI)
SDOC-SRS-50
6.1.2. Web interface
DO178-8
1.8. Configuration: 'Host' parameter
SDOC-SRS-119
13.3. 'Host' parameter
DO178-7
1.9. No use of proprietary technology
SDOC-SRS-89
15.4.1. Use of open source components
DO178-13
1.10. Source file coverage
SDOC-SRS-35
6.10.1. Project source code coverage
DO178-9
1.11. Project-level grammar
SDOC-SRS-122
2.9. Importable grammars
SECTION-DR-Needs-discussion
2. Needs discussion
DO178-19
2.1. WYSIWYG editing
SDOC-SRS-121
3.16. WYSIWYG editing
DO178-15
2.2. Diff between document trees
SDOC-SRS-111
6.13.1. Project tree diff
DO178-10
2.3. Traceability matrices
SDOC-SRS-112
6.12.1. Traceability matrix
DO178-11
2.4. Impact analysis
SDOC-SRS-117
3.23.1. Impact analysis
DO178-12
2.5. Uncovered requirement report
SDOC-SRS-66
6.6.1. View DTR screen
SDOC-SRS-97
6.8.1. Display project statistics
SDOC-SRS-112
6.12.1. Traceability matrix
DO178-16
2.6. Interoperability with Sphinx
SDOC-SRS-70
8.1.1. Export to RST
SDOC-SRS-71
8.1.2. Docutils
DO178-17
2.7. Multi-user editing of documents
SDOC-SRS-123
6.1.3. Multi-user editing of documents
DO178-18
2.8. Support for Derived requirements
SDOC-BACKLOG-9
3.10. Derived requirements
Technical Note: Zephyr requirements tool requirements
ZEP-1
1. Multiple files / include mechanism
SDOC-SSS-52
2.4. Assembling documents from fragments
ZEP-2
2. Clear separation of requirements (machine-readable)
SDOC-SSS-54
12.3. Machine-readable format
ZEP-3
3. Custom fields
SDOC-SSS-62
3.3. Custom fields
ZEP-4
4. Links
SDOC-SSS-7
3.8. Link requirements together
ZEP-5
5. Multiple link roles
SDOC-SSS-8
3.9. Multiple link roles
ZEP-6
6. ReqIF export
SDOC-SSS-58
6.2. ReqIF export/import
ZEP-7
7. CSV
SDOC-SSS-59
6.3. CSV export/import
ZEP-8
8. Unique ID management
SDOC-SSS-6
3.7. Auto-provision of Requirement UIDs
ZEP-9
9. Text formatting capabilities
SDOC-SSS-63
2.7. Text formatting capabilities
ZEP-10
10. Minimal requirement field set
SDOC-SSS-61
3.2. Minimal requirement field set
ZEP-11
11. Requirements to source code traceability
SDOC-SSS-72
5.1. Traceability between requirements and source code
ZEP-12
12. Non-intrusive links in source code
SDOC-SSS-72
5.1. Traceability between requirements and source code
ZEP-13
13. Structuring requirements in documents
SDOC-SSS-64
3.4. Structuring requirements in documents
ZEP-14
14. Status field
SDOC-SSS-61
3.2. Minimal requirement field set
ZEP-15
15. Tool Qualifiability
SDOC-SSS-50
14.2. Self-hosted requirements