Projects
Whatever you do in RubyMine, you do that in the context of a project. A project is an organizational unit that represents a complete software solution. It serves as a basis for coding assistance, bulk refactoring, coding style consistency, and so on.
A project in RubyMine is represented in the Directory Based Format. A root project directory contains the .idea directory, with the following files:
.iml file that describes the project structure.
workspace.xml file that contains your workspace preferences.
A number of xml files. Each xml file is responsible for its own set of settings, that can be recognized by its name: projectCodeStyle.xml, encodings.xml, vcs.xml, and so on.
Thus, for example, adding a new run/debug configuration and changing encoding will affect two different xml files. This helps avoid merge conflicts when the project settings are stored in a version control system and modified by the different team members.
The .idea directory is not visible in the Project view of the Project tool window Alt+1.
Once you have opened a folder in RubyMine, the .idea subfolder is added to it where RubyMine stores its internal configuration settings, for example, for the project code style or the version control system.