> ## Documentation Index
> Fetch the complete documentation index at: https://docs.domino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Work with Project files

Domino manages a collection of files for every project. To add files to a project:

* Upload them from the Domino web application.

* Upload them from the [Domino Command Line Interface](/cloud/reference/cli/cli-reference).

* Upload them through the Domino API.

* Create and edit them in the Domino web application.

* Execute code in a workspace or job to generate them.

When you modify a project’s files, it creates a new revision of the project. When you start an execution from a Domino project, the files in that project are loaded onto the machine hosting the execution. This machine is known as the executor.

The project files are mounted in the `/mnt` directory, which is in the file system root of the executor. Domino tracks changes to this directory. When a Run completes, Domino records changes to `/mnt` as a new revision of the project. See [Domino File System](/cloud/platform-capabilities/core-concepts/projects/manage-dfs-projects/domino-file-system) to learn how Domino loads files into runs and how runs change files.

You can also add external Git repositories to projects. This makes the contents of those repositories available in runs and workspaces in the `/repos` directory of the executor. See [Import Git Repositories](/cloud/platform-capabilities/core-concepts/projects/manage-dfs-projects/import-git-repositories).

## Sharing Project files

Project artifacts are the files in your project, which can include relatively small data files. The visibility and accessibility of project artifacts is controlled by the project owner. As a project owner, you can configure the project’s visibility and add collaborators with specific permissions.

Project visibility determines whether other Domino users can see your project and its files. Although the most permissive visibility setting (Public) lets everyone see and import your project artifacts, it does not allow everyone to modify them.

You can change a project’s visibility at Settings > Access & Sharing > Visibility in your project. See Set project visibility for details.

Project collaborators have specific permissions depending on the project roles you assign them. Some roles provide read-only access to the project artifacts, while others provide read/write access. Project roles are independent of the user’s role in Domino.

See Collaborator permissions and Invite collaborators for complete details.

The most secure configuration for a project is to set the project visibility to Private and add collaborators with the Results Consumer role. This configuration gives read-only access to specific users only; the project is effectively invisible to all other users. Only the project owner has full access to such a project. This is an appropriate configuration for projects that contain the most sensitive data and results.

By contrast, the most permissive configuration is to set the project visibility to Public and add the whole organization as a collaborator with the Project Owner role. This configuration gives full access to all users in the organization. For example, a sample project intended to be used as a sandbox might be configured this way.

## Special files

There are several special files reserved by Domino. These files control the revisioning behavior, results display, and run comparison features of a project.

### README files

All projects are initialized with a `README` file, which is available in the **Overview** section of your project. `README` files provide an overview of a project. The contents of the `README` file in your project are written in [Markdown](https://daringfireball.net/projects/markdown/syntax), a lightweight and easy-to-read/write markup language.

<Tip>
  If you plan to reference other project files from the `README` file, prepend `raw/latest` to the beginning of a file’s relative path.

  For example, if you have a file stored in a folder and the file’s path is `images/overview.jpg`, you must reference this file in the `README` file as `raw/latest/images/overview.jpg`.
</Tip>

### .dominoignore

By default, all projects include a `.dominoignore` file in the project root folder. This file functions like a [.gitignore file](https://git-scm.com/docs/gitignore), and can be used to exclude certain file patterns from being written to future revisions of the project files. Domino ignores files that match the specified patterns when a new revision is created. This includes revisions created by syncing from your local machine using the [CLI](/cloud/reference/cli/cli-reference), as well as new revisions created by a run or workspace session.

To ignore a file pattern, add it to `.dominoignore`. Patterns can be filenames, folder names, or UNIX shell regular expressions. Adding a folder will ignore it along with all of its contents. The `*` symbol in UNIX shell regular expressions is a wildcard and will match. All paths must be relative to the project root. Review the contents of the default `.dominoignore` in one of your projects to see commented examples of excluded patterns.

<Note>
  A `.git/` directory is always ignored by Domino sync operations, even if that pattern is not listed in `.dominoignore`.
</Note>

### .dominoresults

Projects include a special file named `.dominoresults`. This file controls which files the [results dashboard](/cloud/platform-capabilities/core-concepts/projects/download-execution-results) lists for this project’s runs. It is constructed similar to `.dominoignore`, but lists file patterns to *include* instead of **exclude**. If no patterns are listed in this file, all files changed by a run will be included in the results dashboard. If any patterns are listed in this file, only files which match those patterns will be included in the results dashboard for this project’s runs.

For example, a `.dominoresults` file that contains the following lines will only list the following specified files in the results dashboard.

```shell theme={null}
histogram.pdf
output.txt
```

A `.dominoresults` file that contains the following lines lists all PDF files in the project, and any PNG files that are in the `results/` folder.

```shell theme={null}
*.pdf
results/*.png
```

### dominostats.json

Domino’s [compare jobs](/cloud/platform-capabilities/core-concepts/workspaces/manage-workspaces) feature checks for a file named `dominostats.json` to compare key measurables from individual runs. This file is automatically deleted at the beginning of a run, and will only exist in the project revision produced by a run if a new version is written during execution. See [View Execution Performance](/cloud/platform-capabilities/core-concepts/jobs/customize-job-results) to learn more about this feature.
