# Environment setup for components programming¶

drag&bot components are encapsulated ROS packages which are recognized by drag&bot Runtime automatically if placed in the proper folder. As drag&bot offers no special IDE for ROS, you can use any text editor or IDE you could use with ROS.

To start developing drag&bot components, you need to:

1. Understand ROS architecture and programming. We recommend to do the ROS tutorials.

2. After installing drag&bot, as stated in ROS environment section, a special directory ~/dnb_catkin_ws/src/ is created in the user home directory. Every drag&bot component placed there, will be automatically compiled (through catkin build) and, if component is correct, listed in drag&bot Studio. This directory is a ROS catkin workspace which is cleaned and built during drag&bot start-up inside a docker container.

3. Restart drag&bot Runtime

4. Now in drag&bot Studio users will be able to select, configure and use the components placed in the catkin workspace as any other pre-installed components.

Usually each drag&bot component is packed in its own repository. We recommend to clone the dnb_component_example into the ~/dnb_catkin_ws/src/ to see a running example.