> For the complete documentation index, see [llms.txt](https://docs.devin.fm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devin.fm/guides/modules/add-a-module.md).

# Add a Module

{% hint style="info" %}
A Module is the generic term for a development file that's under Devin's control.
{% endhint %}

To Add a Module to a Project, open the Project Workspace, go to Modules and click +. Then:

1. Choose a file from your development server
2. Specify an initial version number
3. Choose the file type
4. Enter Full Access credentials for the file (FileMaker user account)
5. Optionally, provide an [EAR](https://support.claris.com/s/article/Using-Encryption-At-Rest-EAR-functionality-with-FileMaker-products-1503693029211?language=en_US) encryption key.

## Video Tutorial

{% embed url="<https://vimeo.com/938398151?share=copy>" %}
Adding a Module to a Project in Devin
{% endembed %}

When the file has been added as a Module in Devin, you will see that a copy of the file now exists on the project's default `main` branch, called `<filename>_main.fmp12`. The original file, `<filename>.fmp12`, will no longer be used by Devin and can be removed manually from your server.&#x20;

To start development on the file, the main file should be branched to another branch (see [Branch a Module](/guides/modules/branch-a-module.md)).&#x20;

{% hint style="info" %}
To learn more about branches and version control, see [Version Control](/features/version-control.md#branches).
{% endhint %}

## File Types

Devin lets you choose between three file types. If you practice the Data Separation Model architecture where you split up your `fmp12` files into UI and Data files choose `App` for **UI files** and `DB` for **Data files**. If your file has **combined UI and Data**, choose `All-In-One`.

{% hint style="info" %}
To learn more about the Data Separation Model, search "FileMaker Data Separation Model" in your favorite search engine and discover many community and blog posts about this choice of this popular architecture.
{% endhint %}

## File Authentication

Devin needs access to development files via the FileMaker Data API. Therefore, the specified account must have the `fmrest` extended privilege enabled. Other features, like [Regression Testing](/features/regression-testing.md), requires communication via the FileMaker OData API, and thus, the `fmodata` extended privilege enabled. To enable these extended privileges, go to Security -> Advanced Settings -> Extended Privileges.

{% hint style="warning" %}
Devin has not been tested with files that use external OAuth for authentication.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.devin.fm/guides/modules/add-a-module.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
