Roadmap¶
Schema validation (Ontology)¶
Need objects can be validated against a given schema.
This includes local need options as well as linked needs and their properties.
This topic is also known as Ontology
.
Supported toolchain¶
ubCode
and ubc
are built to support most of the features Sphinx and Sphinx-Needs offers.
We actively push to close the feature gap.
However, a balance need to be found between the extensibility and customisability of Sphinx and Sphinx-Needs,
and the fast tracing capabilities of ubCode
and ubc
.
A so-called supported toolchain will be defined that sets the scope of what projects can do with Sphinx-Needs,
so fast tracing becomes possible. This will also have a positive effect on the toolchain safety.
Source code tracing¶
Fast integration into a range of source code types such as C/C++, Python, Rust, Java, Yaml, and more.
Impact analysis¶
Analyse the difference between two revisions of a project.
This can be compared to a git diff
command, just for traceability.
Scope of the diff are schema differences, such as missing, added or differing options/links.
Core options and extra options/links will be compared.
If differences are found, all 1st level incoming and outgoing links are printed so users can
decide whether the changes impact the linked needs. This is also called impact analysis
or
suspicious links
.
Visualisations¶
Visualise the connected needs to the one you are currently editing and explore the needs network in a graphical way.
Preview Sphinx-Needs visualisations¶
Preview needs visualisations in real-time while editing the RST files.
This includes needflow
, needtable
or needbar
.
This also involves previewing resulting needs of filter strings.
RST formatting¶
Auto-format RST files.
Markdown support¶
Support .md files for ubCode if using the MyST extension. Also auto-format .md files is planned.
Auto-completion¶
Schema-aware auto-completions for need objects and fuzzy select need IDs.
Workspace support¶
Often documentation is split into multiple Sphinx projects. A native workspace support is planned which makes ubCode aware of all projects and their dependencies.