ubFlow Documentation¶
Warning
Alpha Status — This project is in active development.
Please report issues via GitHub Issues. Contributions and feedback are welcome!
AI-Assisted Requirements Engineering with ASPICE Traceability
“Safety-critical development demands traceability. AI agents need focused context, not the entire repo.”
ubFlow combines both: It uses sphinx-needs traceability links to navigate from Stakeholder Needs through Requirements down to Design Specs — exactly what ASPICE and ISO 26262 require. AI agents follow these links to find only the affected elements, making development O(affected), not O(total).
Whether you’re building automotive ECUs, medical devices, or pure software — ubFlow scales with your compliance needs.
Quick Start¶
1. Download & extract the latest release.
2. Run the init script from your project directory:
# Windows
C:\path\to\ubFlow\scripts\powershell\init.ps1
# Linux / Mac
/path/to/ubFlow/scripts/bash/init.sh
3. Open VS Code Copilot Chat and type @ubFlow.setup — the agent handles the rest.
That’s it. Dependencies, config, validation — all automated.
Prerequisites: VS Code + GitHub Copilot, Python 3.10+, uv package manager
How It Works¶
Three Levels with ASPICE Traceability
ubFlow supports three workflow models depending on your compliance needs:
Workflow Model |
When to Use |
|---|---|
Full ASPICE |
Safety-critical systems (automotive ISO 26262, medical IEC 62304) SYS.1/2/3 → SWE.1/2/3/4/5/6 |
Software Feature |
Pure software with external system requirements SWE.1/2/3/4/5/6 (no system level) |
Simplified ASPICE |
Software-only, agile teams, internal tools NEED → REQ → SPEC (ubFlow’s own approach) |
For all models, traceability links connect the levels:
Stakeholder Need ──links──▶ Requirements ──links──▶ Design Specs
(WHY) (WHAT) (HOW)
When you request a change, AI agents follow these links to find only the affected elements — no searching, no scanning the entire codebase.
See Process Documentation for detailed ASPICE alignment.
Your AI Team¶
ubFlow provides specialized agents organized by their role in the ASPICE workflow.
Primary Entry Point
Agent |
What it does |
|---|---|
|
Start here! Analyzes change requests, creates Change Document, coordinates workflow through ASPICE levels |
ASPICE Workflow Agents (invoked by orchestrate)
Agent |
What it does |
|---|---|
|
Capture stakeholder needs (SYS.1) |
|
Define system requirements (SYS.2) |
|
Design system architecture (SYS.3) |
|
Define software requirements (SWE.1) |
|
Design software architecture (SWE.2) |
|
Create detailed design specifications (SWE.3) |
|
Implement code and unit tests (SWE.4) |
|
Define integration/qualification tests (SWE.5/6) |
|
Execute tests and record results (SWE.6) |
Quality & Verification
Agent |
What it does |
|---|---|
|
Final verification: validates implementation against Change Document |
|
Horizontal validation: finds gaps and redundancies in specs |
|
Vertical validation: traces one element through all ASPICE levels |
Support & Management
Agent |
What it does |
|---|---|
|
Install or update ubFlow in your project |
|
Update copilot-instructions.md after changes |
|
Review and approve proposals at any workflow step |
|
Manage versioning, release notes, GitHub publishing |
Typical workflow: orchestrate → (need/sysreq/swreq/swdesign/impl/test) → verify → memory → release
See Change Workflows for detailed workflow descriptions.
Why ubFlow?¶
Advantages
✅ ASPICE-Compliant AI Assistance — AI agents work within ASPICE process structure
✅ Validated Documentation — Every specification documents:
Input parameters and content
Decision-making process and rationale
Human review at each step
✅ Human-in-the-Loop — Reviews required after every agent step
✅ Verification Built-In — Plans are verified against actual implementation
✅ Full Traceability — Everything stored as linked sphinx-needs objects
✅ ubCode MCP Integration — Fast, validated traceability queries via MCP server
✅ Branch-Based Exploration — Test multiple alternative solutions in parallel branches
Trade-Offs
⚠️ Slower than ad-hoc development — Documentation overhead increases cycle time
⚠️ AI-Heavy Validation — Some validation steps still rely too much on AI judgment
⚠️ Verbose Reporting — Agent outputs could be more concise and precise
FAQ¶
- Do I need to know reStructuredText?
Not really. The agents write RST for you. But understanding the basics helps — it’s just text with directives (like
.. need::).- Can I use this with an existing project?
Yes.
@ubFlow.setupcan adopt an existingdocs/folder. Or start fresh and grow from there.- What about Markdown?
ubFlow uses myst-parser so you can mix Markdown and RST. Specs use RST (sphinx-needs requirement), but guides can be Markdown.
- Is this only for automotive / ASPICE?
No. The three-level hierarchy (Stakeholder Needs → Requirements → Design) is universal. ASPICE alignment is optional and documented under Process Documentation.
- How is this different from plain Copilot?
Copilot excels at writing code. But it doesn’t know which of your 500 requirements are affected by a change. ubFlow solves the navigation problem — then hands focused context to Copilot.
- Why sphinx-needs?
It’s mature, extensible, and generates structured JSON for programmatic access. The ubCode MCP server reads this JSON for fast traceability queries.
Getting Started¶
Quick Start
Specification Modules¶
Specifications by Theme
Guides & Process¶
Release Information¶
Release Notes