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.
Detect unsupported features¶
ubCode should warn about known unsupported features used in Sphinx-Needs projects that lead to incomplete primary indexing of the project.
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 ✅¶
Added in version 0.29.0.
Fast integration into a range of source code types including C/C++, Python, Rust, C#, and YAML. Powered by Codelinks, this feature lets you embed traceability markers in code comments and have ubCode convert them into linked needs in real time.
See the codelinks guide for a walkthrough and Codelinks (Source Code Tracing) for the full configuration reference.
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.