-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconf.py
More file actions
116 lines (106 loc) · 2.64 KB
/
conf.py
File metadata and controls
116 lines (106 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
project = "Papyrus"
copyright = "2026, Papyrus"
author = "Karolis Strazdas"
extensions = ["sphinx_needs", "sphinxcontrib.mermaid", "sphinx.ext.graphviz", "sphinxcontrib.openapi"]
html_theme = "furo"
html_static_path = ["_static"]
html_css_files = ["custom.css"]
html_js_files = ["mermaid-panzoom.js"]
html_title = "Papyrus"
html_theme_options = {
"light_css_variables": {
"color-brand-primary": "#5654A8",
"color-brand-content": "#5654A8",
},
"dark_css_variables": {
"color-brand-primary": "#C3C0FF",
"color-brand-content": "#C3C0FF",
},
}
needs_types = [
dict(
directive="fr",
title="Functional Requirement",
prefix="FR-",
color="#7C6FD4",
style="node",
),
dict(
directive="nfr",
title="Non-Functional Requirement",
prefix="NFR-",
color="#D49A6F",
style="node",
),
dict(
directive="uc",
title="Use Case",
prefix="UC-",
color="#6FA8D4",
style="artifact",
),
]
needs_flow_engine = "graphviz"
needs_graphviz_styles = {
"furo": {
"graph": {
"bgcolor": "transparent",
"pad": "0.3",
"nodesep": "0.4",
"ranksep": "0.6",
},
"node": {
"fontname": "system-ui, -apple-system, sans-serif",
"fontsize": "11",
"fontcolor": "#333333",
"style": "filled,rounded",
"penwidth": "1.2",
"color": "#cccccc",
},
"edge": {
"color": "#999999",
"arrowsize": "0.7",
"penwidth": "1.0",
"fontname": "system-ui, -apple-system, sans-serif",
"fontsize": "9",
"fontcolor": "#777777",
},
},
}
needs_fields = {
"priority": {
"type": "core",
"description": "Requirement priority level",
"schema": {"type": "string"},
},
"actors": {
"type": "core",
"description": "Use case actors",
"schema": {"type": "string"},
},
"status": {
"type": "core",
"description": "Implementation status",
"schema": {
"enum": ["open", "in_progress", "implemented", "verified", "deferred"],
},
},
}
needs_id_required = True
needs_id_regex = r"^(FR|NFR|UC)-[0-9]+_[0-9]+(_[0-9]+)?$"
needs_default_style = ""
needs_role_need_template = "{title} ({id})"
graphviz_output_format = "svg"
mermaid_output_format = "raw"
exclude_patterns = [
"_build",
"src",
".venv",
"venv",
"site",
"Thumbs.db",
".DS_Store",
"CLAUDE.md",
"README.md",
]
templates_path = ["_templates"]