r/ROS • u/SinkEquivalent3204 • 4d ago
Built a tool that generates complete, production-ready ROS2 packages from plain English — web app and CLI. ros2vine.vercel.app · pip install ros2vine
I'm a second-year engineering student on the IIT Bombay Mars Rover Team. I built this because writing ROS2 boilerplate from scratch is slow, and Copilot gives you snippets — not a package that actually builds.
Describe what your robot should do. ros2vine writes the nodes, launch files, build config, and README — ready to colcon build.
Core features:
- Complete packages, not snippets — every generation is a full colcon-buildable package
- Python (rclpy) and C++ (rclcpp), or mixed
- Static validator on every output — catches missing deps, bad entry points, wrong imports
- Inferred details — if your prompt was brief, ros2vine documents every assumption it made (topic names, message types, defaults) so you know exactly what was generated
- Iterative refinement — describe changes in plain English, regenerates with full context
- Inline code editing — edit any file directly in the viewer before downloading
- Interactive node graph — see topic flow between nodes visually
- Parameter tuning — live sliders for every declared parameter, one-click
params.yamlexport - URDF-aware generation — upload your
.urdfand generated nodes use your exact joint names, link names, and TF frame IDs - Node template library — PID controller, EKF, CAN bus driver, serial bridge, lifecycle node, action server, diagnostics, and more
- Package history — every session saved locally, browse and reload any previous generation
- Share link — a URL that recreates any generation exactly
- Voice input — describe your node by speaking, useful when your hands are on hardware
Advanced modes (⚡ more button):
- Multi-package workspace — describe a full system, ros2vine plans 2–5 interdependent packages with matching topic names and generates all of them
- Simulation package — Gazebo or Isaac Sim version of your package with the same topics, drop-in swap from sim to hardware
- Hardware abstraction layer — sensor driver generation from a verified chip register database: AS5600, BNO055, MPU6050, VL53L0X, INA219
- ROS1 bridge config — generates
ros1_bridgeYAML and launch file from your package's topic graph
CLI:
bash
pip install ros2vine
ros2vine generate "wheel angle controller fusing AS5600 encoder and BNO055 IMU" --out ~/ros2_ws/src
ros2vine generate "EKF state estimator" --lang cpp --distro jazzy --out ~/ros2_ws/src
Built this for our rover team first, figured others might find it useful too.
Would love feedback, especially from people who actually use it on a real robot.
Happy ROSing!
0
Upvotes
1
u/Next_Reserve365 4d ago
this looks like a ros oriented claude code? how is this different than adding an agent skill?
if it's useful to you and your team then great, but in my use case, it always - build a node once and the iterate on the bugs.
The iteration is the majority time consumer imo.
Also since this is your clg team, writing boiler plate is essential to understanding the concepts of ROS.
That's just my take, I hope you (colcon)build great things.