Skip to main content
🤖 Static architecture intelligence for ROS2

See your robot's architecture. Enforce it.

ROS2 Inspector builds a static architecture view from supported source patterns — packages, nodes, topics, services, actions, and interfaces. No runtime. Evidence and confidence included. Like cargo metadata for Rust, but for ROS2.

Released Commands
Graph Formats
Static Analysis

From source to graph in three commands

No build step. No running ROS2. No containers. Just point it at your workspace and get a documented static view.

1
Scan your workspace
Point ros2inspector at a workspace. It prefers src/, skips generated colcon trees, and maps detected package dependencies.
$ ros2inspector scan ~/robot_ws
2
Detect nodes & topics
Static parsers detect supported Python and C++ node, topic, service, action, interface, and launch patterns.
$ ros2inspector nodes
3
Visualize & enforce
Generate Mermaid diagrams, interactive HTML graphs, or JSON for your own tooling. Lock your architecture with policy files.
$ ros2inspector viz

Everything your workspace deserves

Built for ROS2 developers who need reliable architecture visibility without boilerplate.

No Runtime Required
Analyzes supported source patterns without a ROS2 daemon or running nodes. Works in CI after the documented Python installation step.
Python & C++ Support
Detects nodes in both Python (AST) and C++ (Tree-sitter). Handles rclpy.Node, rclcpp::Node, and lifecycle nodes.
Architecture Graphs
Export to Mermaid, GraphViz DOT, or JSON. Or generate a self-contained interactive HTML viewer powered by Cytoscape.js.
Incremental Caching
Content-based SHA-256 cache keys avoid stale results and only re-analyze changed package inputs.
Health Scoring
0–100 score per package: README, license, maintainers, test coverage, circular deps. Workspace aggregate at a glance.
CI/CD Ready
Pipe JSON to jq, diff graphs between branches, fail PRs that introduce forbidden dependencies. Made for automation.

See all seven commands in action

Switch between commands and see the real output format. Everything you see here is what you get in your terminal.

Your workspace, mapped automatically

Detected nodes, topics, services, actions, and relationships — rendered from source evidence in a self-contained interactive graph.

Start in 30 seconds

One pipx command. No virtual environment setup or ROS2 daemon required for static analysis. See the compatibility page for tested Python and platform coverage.