# .forestadmin-schema.json

{% hint style="success" %}
This is the official documentation of the `agent_ruby` Ruby agent.
{% endhint %}

#### The `.forestadmin-schema.json` file

In your **Development Environments only**, on server start, a `.forestadmin-schema.json` file will be auto-generated. It reflects:

* the **state of your data sources Collections.**
* your **Agent customization**.

{% hint style="info" %}
This file **must be versioned and deployed** for any Remote (test, staging, qa, preprod,...) or Production Environment, as it will be the foundation of your Forest Admin layouts.
{% endhint %}

{% hint style="info" %}
We use the option `isProduction` in the `createAgent` function. Setting this variable to `false` will regenerate a new `.forestadmin-schema.json` file every time your app restarts. Using `true` will never regenerate the file.
{% endhint %}

{% hint style="warning" %}
As a consequence, in Remote and Production Environments, the `.forestadmin-schema.json` file does **not** update according to your data sources schema and customization changes (but follows the `.forestadmin-schema.json` file versioned in the code you deployed).
{% endhint %}

{% hint style="danger" %}
**Do not edit this file manually**, as it could break your interface if the wrong syntax is used.
{% endhint %}

{% hint style="info" %}
You can generate this file without starting the server using `rails forest_admin:schema:generate`. See [Schema generation command](https://docs.forestadmin.com/developer-guide-agents-ruby/deploying-to-production/schema-generation-command) for more details.
{% endhint %}

Versioning the`.forestadmin-schema.json` file will also help you visualize your admin panel configuration changes:

![](https://561307319-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn23xpsrpC8uJXljJ3an2%2Fuploads%2Fgit-blob-8f93de1764419a0ebf4cb87e085fea7508f230e5%2Funder-the-hood-versioning.png?alt=media)
