Built a free CLI to diagnose ROS2 multi-machine setups: pip install ros2forge

I’m a first-year engineering student on the IIT Bombay Mars Rover team.
I kept losing days to the same ROS2 issues: DDS
discovery failures, UFW silently blocking UDP, clock drift causing
handshake failures, nodes not visible across devices even when ping worked.

Built a diagnostic CLI that catches all of this in one command:

pip install ros2forge
rosforge doctor

It checks: ROS2 install, RMW/DDS config, ROS_DOMAIN_ID, network
interfaces, multicast, UFW/iptables rules, DDS port availability,
NTP sync, daemon health, and peer reachability (ICMP + UDP 7400).

Every failure comes with the exact fix command.

Also includes rosforge scaf: scaffolds a complete workspace
(DDS config, install scripts, node boilerplate) from an interactive prompt.

GitHub: GitHub - emphiasarmlorn/ros2forge: ROS2 workspace scaffolder + multi-machine diagnostics toolkit · GitHub

Would love feedback from people who’ve hit these issues.

1 Like

Thanks for making a tool that helps avoid some of these issues.

You say it’s “Free” in the title but for software the canonical way to make that happen is to apply a license to it.

Without a license technically all rights are reserved by default.

If you’d like an overview please take a look at: https://choosealicense.com/

In the Open Robotics community the most common license is Apache-2.0

Slightly related have you considered contributing these as additional checks to ros2doctor ? There’s some introduction how to use it at Using ros2doctor to identify issues — ROS 2 Documentation: Rolling documentation

And there’s documentation how to add new python entry points to your python package such that ros2doctor will find them and run them on your system: Add New Checks

3 Likes

Thanks a lot for the response! I’ll definitely look into ros2doctor as well as the license details you pointed out.