# An In-Depth Look at The File Structure of a CoB server_*
Each newly created server_*
will have a default file structure, and it is vital to understand the purpose of each directory, as well as what it stores. The following image displays an overview of this default file:

What follows is a two-part series in which we take an in-depth look at the file structure of a Cob server.
# The File Structure of a CoB server_*
- First Part
# Files and directories used for cob-cli
environments
- This directory is used to store all the development environments that can be found on each server:- Each environment acts as a separate server.
- The default environment of all CoB servers is
prod
- from "production". This environment is generally maintained by clients. - However, if there is a need to create a testing environment so that we are able to make modifications without worrying about breaking the application, we can always create it inside this directory.
- Each environment directory contains a file named
server
which has the name of the server written on it. This name must be in accordance with the name of the environment.

Whenever we don't see the need for including certain server directories in an environment, we can always create a file named rsyncFilter.txt
within the directory of that environment. On this text file we will need to state the names of the directories we want to excluded. Each name will be preceded by a hyphen, as can be seen in the image displayed on the left.
The contents of this environments
folder are used exclusively for the functionality of the cob-cli, which is explained in greater detail in this article.
.version
- This file is also included in all servers and it is used for version management purposes: it contains the version number ofcob-cli
installed with this server. This information is important because each version may affect the way cob-cli works: since all server files are installed via cob-cli, any version changes could result in a completely different server file structure.customizations.json
- Also used for cob-cli management purposes, this file contains the version number and name of all of the customizations available on the server and that were installed by running thecob-cli init
command.
# General server files and directories
The directories in this section and the next one include all the server code that is maintained in the server repository and that is used to deploy the server itself.
others
- This folder contains all the files of independent applications that are not directly implemented on CoB solutions even if they use some of its internal services through the REST API. A typical scenario is when an external application uses RecordM for data storage. Additionally, code belonging to projects that is not directly related to the internal CoB services but is nevertheless needed to run the application, will also be stored in this folder.recordm-importer
- configuration files and Groovy scripts used to configure RecordM Importer.reportm
- ReportM configuration files. These folder may not always be present, since not all solutions use ReportM.userm
- UserM configuration files UserM. Normally there is no need to change this folder and its files and subfolders.
# Miscellaneous files
.gitignore
- Git uses this file to know which server directories and files should be ignored when we are commiting and pushing changes to the server repository.