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.