colcon-workspace

Manage ROS 2 colcon workspaces with structured builds and overlays.

18|2|Updated Apr 20, 2026
One-click install
npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill colcon-workspace
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: colcon-workspace
Source: https://github.com/wimblerobotics/ros2-copilot-skills/tree/main/colcon-workspace
Command: npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill colcon-workspace

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Coordinating builds, tests, and overlays for ROS 2 projects across multiple packages can be slow, error-prone, and hard to reproduce. This Skill provides a structured workflow to create, manage, and optimize colcon workspaces, including strategies for using --symlink-install, selective builds, and workspace overlays to speed development and maintain consistency.

Core Features & Use Cases

  • Create and structure ros2_ws with src/, build, install, and log directories.
  • Build efficiently with --symlink-install, selective builds, and overlay management.
  • Manage workspace overlays across multiple ROS 2 installations or source spaces.
  • Provide guidance on common mistakes and complete development workflow.
  • Example: set up a multi-package workspace and reproduce builds across machines.

Quick Start

Create a ROS 2 workspace folder (e.g., ros2_ws) with a src directory, then run colcon build --symlink-install and source install/setup.bash to start using it.

Frequently Asked Questions about colcon-workspace

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a ROS 2 colcon workspace for multiple packages?

Manage ROS 2 colcon workspaces by creating a root directory containing a src folder for packages, then run colcon build --symlink-install to compile and source install/setup.bash to activate the environment.

What does --symlink-install do in a colcon build?

The --symlink-install flag in a colcon build creates symbolic links to your source files instead of copying them, allowing changes in Python or launch files to take effect immediately without rebuilding the entire workspace.

How do I manage workspace overlays across multiple ROS 2 installations?

Manage workspace overlays by building a base workspace and sourcing its setup file, then building a secondary workspace that extends the base, allowing selective package overrides and isolated testing across multiple ROS 2 source spaces.

What is the best way to reproduce colcon builds across different machines?

The best way to reproduce colcon builds across machines is to maintain a consistent workspace structure with src, build, install, and log directories, and apply selective build configurations for structured dependency management.

Can I use selective builds to compile only specific packages in a ROS 2 workspace?

Yes, you can use selective builds in a ROS 2 workspace to compile only specific packages, which significantly speeds up development time and reduces errors when working across large, multi-package projects.