Documentation Index
Fetch the complete documentation index at: https://mintlify.com/drift-tech/drift-releases/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Drift CLI provides intelligent workspace management that eliminates the manual overhead of creating and organizing ROS2 workspaces. With automatic package generation and smart organization, you can focus on building robots instead of managing directory structures.Drift handles all the complexity of ROS2 workspace setup, from package creation to build configuration.
Automatic package generation
When you create a robot or component using Drift, it automatically generates properly structured ROS2 packages with all necessary files:- Package manifest files (
package.xml) - CMake configuration (
CMakeLists.txt) - Source directories and starter code
- Robot description files (URDF/Xacro)
- Launch file directories
- Resource and configuration folders
Example: Creating a workspace
Example: Creating a robot package
Workspace organization
Drift intelligently organizes your workspace to follow ROS2 conventions and best practices:Package separation
Each robot or component gets its own package, keeping your workspace clean and modular.
Dependency management
Drift automatically adds required dependencies to your package.xml files.
Build optimization
Smart build configurations ensure fast compilation and proper linking.
Source control ready
Generated workspaces follow .gitignore best practices for version control.
Logical file placement
Drift knows where different types of files belong:- Robot descriptions →
urdf/directory - Launch files →
launch/directory - Configuration files →
config/directory - 3D models →
meshes/directory - Source code →
src/directory
How Drift manages ROS2 workspaces
Drift provides comprehensive workspace lifecycle management:Workspace initialization
When you start a new project:- Create the workspace directory structure
- Initialize the build system
- Set up environment configuration
- Create a
.gitignorefile
Package addition
When you add new components:- Update the robot’s URDF with the new sensor
- Add necessary dependencies to
package.xml - Update CMakeLists.txt if needed
- Rebuild the affected packages
Drift only rebuilds what’s necessary, saving you time during development iterations.
Dependency resolution
Drift automatically handles dependencies:- Detects required ROS2 packages
- Adds them to your package manifest
- Ensures build order is correct
- Warns about missing system dependencies
Build management
Drift integrates with the ROS2 build system:colcon under the hood with optimized settings:
- Parallel compilation for speed
- Symlink installation for faster iteration
- Proper error reporting and recovery
Advanced workspace features
Multi-package projects
Drift can manage complex projects with multiple packages:Workspace overlays
Drift understands ROS2 workspace overlaying:- Works with existing ROS2 installations
- Can overlay on top of other workspaces
- Properly sources the workspace chain
Environment management
Drift helps you manage environment variables:- Active ROS distribution
- Sourced workspaces
- Package paths
- Important environment variables
Best practices
When working with Drift’s workspace management:Start clean
Let Drift create workspaces from scratch rather than trying to retrofit existing ones:Use descriptive names
Be clear about what you’re building:Trust the automation
Drift handles the boilerplate, so you can focus on unique logic:- Let Drift generate launch files
- Let Drift manage dependencies
- Let Drift organize files
Iterate quickly
Drift makes it easy to modify and rebuild:Getting started
To leverage Drift’s workspace management:-
Launch Drift:
-
Create your workspace:
-
Add your first robot:
-
Build and iterate: