No version for distro humble showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro kilted showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro lyrical showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro rolling showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro ardent showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro bouncy showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro crystal showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro eloquent showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro dashing showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro foxy showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro lunar showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro jade showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro indigo showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro hydro showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro kinetic showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro melodic showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange

No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

dendros package from dendros repo

dendros

ROS Distro
jazzy

Package Summary

Version 1.1.0
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Color-coded terminal output for ROS 2 — group nodes by color, highlight crashes and tracebacks, zero changes to your launch files or workflow.
Checkout URI https://github.com/mlisi1/DendROS.git
VCS Type git
VCS Version main
Last Updated 2026-10-12
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Color-coded, per-node output for ros2 CLI — a shell wrapper around ros2 with configurable colorization, crash alerts, and tooling.

Additional Links

Maintainers

  • Michele Lisi

Authors

  • Michele Lisi

DendROS

Color-coded ROS 2 output — because a wall of white text from 32 nodes is nobody's debugging tool.

CI   License   ROS 2 compatible

Documentation


You launched your stack. Nav2, SLAM, hardware drivers, your own nodes — all printing to the same terminal, all the same color. By the time you find the line you were looking for, it has scrolled past.

Vanilla ros2 launch With DendROS

DendROS assigns each group of nodes its own color. You could have localization in blue, navigation in green, hardware in orange — defined once in a small YAML file that lives inside your package. No launch file edits. No new ROS 2 dependencies. Packages without a config pass through completely unchanged.

And since 1.1, ros2 launch opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running.


New in 1.1: TUI mode

DendROS TUI mode: filtering a live launch, colorized ros2 CLI, and remote commands

ros2 launch now opens in a full-screen log viewer:

  • Scroll back and copy — the whole run stays in the scrollback; drag with the mouse to copy. Crash and parameter alerts stay pinned in the header.
  • Filter and search with \ — focus on some nodes, filter by level or grep, find text and step through the matches, mute the noisy ones. Filters stack, and Esc peels them off one at a time.
  • mark and tee — drop a timestamped marker before you poke the robot, then save exactly what you see to a file for the bug report.
  • Drive it from another terminal — dendros focus planner_server, dendros grep timeout, … reach the running launch, so you don’t have to switch panes.
  • dendros reopen — closed it too early? Bring back the last run, scrollback and all.

It falls back to the classic output on its own when the output is piped or redirected, so scripts and CI are not affected. Prefer the plain scrolling output? Set launch_mode: classic. → TUI Mode · → Console commands

Stacking focus, level and grep filters in the TUI

Features

  • Color by group

    One config file per package maps node groups to colors, badges, and display rules. Wildcards cover whole families of nodes (nav2_*), and keywords can be highlighted per group or package-wide.

Group colors, badges and keyword highlighting

  • One command to get started

    Too lazy to look up how DendROS config works? We got you covered: dendros init scans your launch files and generates an initial config for you.

dendros init --recursive --labels

  • The main ros2 CLI commands, colorized

    ros2 node list, node info, topic list, service list, action list, param list and param describe use the same group colors and badges, with no extra config. → Full list

ros2 topic list colored by publisher group

  • Crashes, tracebacks and parameter changes

    A banner flags crashed nodes the moment they die and lists the exit code. Python tracebacks are colored automatically. When a parameter changes at runtime, a notice shows the node, the parameter and old → new value.

Crash alert banner

Parameter change alert

<img align=”right” src=”docs/assets/images/dendrobate.png”

File truncated at 100 lines see the full file

CHANGELOG

Changelog

All notable changes to DendROS are listed here, newest first. The format follows Keep a Changelog and the project uses Semantic Versioning.

1.1.0 - 2026-10-12

The headline of this release is TUI mode: ros2 launch now opens in a full-screen viewer where you scroll, search and filter the log while the launch keeps running. It is the new default; set launch_mode: classic to keep the 1.0 output.

Added

TUI mode (launch_mode: tui, the default, for ros2 launch) — docs

  • Full-screen log viewer with scrollback (tui_scrollback_lines, default 5000), line wrapping, a scrollbar and resize support.
  • Mouse wheel scrolling, and click-and-drag selection that copies to the clipboard through OSC 52 and xclip / xsel / wl-copy.
  • Crash and parameter-change alerts stay pinned in the header instead of scrolling away.
  • Falls back to classic output automatically when the output is piped or redirected, or when the terminal can’t run it.

Console commands (press \ in TUI mode) — docs

  • focus <node>... shows only the listed nodes. It matches the process name or the ROS logger name, so components inside a container can be focused one by one.
  • level <lvl> shows lines at a severity or worse. Tracebacks and other lines without a level always stay visible.
  • grep <text> is a live text filter with the matches highlighted.
  • find <text> searches the scrollback; Tab and Shift+Tab step through the matches.
  • mute <node> and unmute <node|all> hide and restore noisy nodes.
  • mark [label] inserts a timestamped separator line.
  • tee <file> [-c] [-a] saves the lines currently shown to a file, optionally with colors or appending.
  • clear removes every filter and mute; help lists every command and key.
  • Filters combine, and Esc removes the most recent one at a time.
  • Tab completion for commands, node names and levels, and Up/Down command history.

Remote control and reopen — docs

  • dendros focus, find, grep, level, mute, unmute, mark, tee and clear send the same commands to a running TUI from another terminal.
  • dendros reopen reopens the last TUI run of the current terminal after it has ended, with its full scrollback.

Runtime control — docs

  • dendros disable and dendros enable switch DendROS off and on in every terminal, including launches that are already running, without restarting them.

Output options

  • show_timestamp and show_logger_name hide the [timestamp] and [logger] brackets of node log lines for a terser output. Both can be set globally or per package.
  • ignore_bold strips bold from every color, for terminals that brighten bold text but not backgrounds and so show a badge in a different shade than its node’s text.

Other

  • A package.xml, so the repository can be indexed as a ROS package.
  • Documentation: new pages for TUI mode, console commands, remote control, enable and disable, troubleshooting and a ROS 2 CLI overview. Every screenshot was redone, and each console command has a short recording.

Changed

  • ros2 launch opens in the TUI viewer by default (launch_mode: tui). ros2 run, piped or redirected output, and every other command are unchanged.
  • dendros config groups its settings into tabs (Output, CLI, Unmatched, System, Diagnostics, Param Alerts, Init) instead of one long list.
  • dendros init must be run from the package root, the folder that contains package.xml. From a subfolder it tells you where to run it instead of guessing.
  • dendros init writes nothing when it finds no nodes. Previously it created an empty config and patched the build files anyway.
  • dendros init colors its warnings yellow and its errors red, like ROS 2 does.
  • The [dendROS] tag uses the same brand blue and orange everywhere it is printed.

Fixed

  • dendros init on ament_cmake packages added an install rule that put dendROS.yaml in share/<pkg>/ instead of share/<pkg>/config/, so the config was never found. See the upgrade notes below.
  • uninstall.sh now works as root (for example in Docker), removes only the two lines the installer added to .bashrc instead of every line mentioning dendROS, and cleans up saved TUI runs and other runtime files. Your settings file is kept.
  • The docs gave after as the default tag_position; the default has always been before.

Upgrading from 1.0

  • Pull the repository and run bash install.sh again, then open a new terminal or source ~/.bashrc.
  • ros2 launch now opens in the viewer, also if you saved your settings with 1.0. To keep the old scrolling output, run dendros config and set Launch mode to classic in the Output tab, or add launch_mode: classic to ~/.config/dendROS/defaults.yaml.
  • If you ran dendros init on an ament_cmake package with 1.0, open its CMakeLists.txt and change install(DIRECTORY config/ to install(DIRECTORY config (no trailing slash), then rebuild. ament_python packages are not affected.

1.0.0 - 2026-07-01

First release.

Added

  • Group-based coloring of ros2 launch and ros2 run output from a dendROS.yaml in each package: colors, badges, per-group options, wildcard node matching and keyword highlighting.
  • Named, extended, hex and raw ANSI colors, and tag_only or full_line coloring.
  • dendros init to generate a config from a package’s launch files, with --recursive and --labels.
  • dendros config, an interactive editor for the global settings.
  • Config merging: configs of packages included by a launch file are merged in automatically.
  • Crash alert banner, Python traceback highlighting and parameter change alerts.
  • Colorized ros2 node list, node info, topic list, service list, action list, param list and param describe, sharing the colors of the running launch.
  • DENDROS_DISABLE=1 and DENDROS_DEBUG=1 environment variables.
  • Host and Docker installation.

Package Dependencies

Deps Name
ros2cli

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged dendros at Robotics Stack Exchange