# Development workflow

{% hint style="success" %}
This is the official documentation of the `forestadmin-agent-django` and `forestadmin-agent-flask` Python agents.
{% endhint %}

## Developing on Forest Admin

One of the goals of Forest Admin is empowering technical teams to achieve more in less time: in other words, giving them the means to create and maintain a great admin panel in as little time as possible.

#### Development tools

Your Forest Admin panel is composed of 2 parts - [the frontend (UI) and the backend](https://docs.forestadmin.com/developer-guide-agents-python/readme) - and for each one, you need the right tools:

The **Admin** **backend** is part of your codebase. As a result, you'll be using your favorite tools to customize it:

* Editing: your favorite IDE
* Versioning: your favorite versioning tool (git, svn, mercurial, etc)

Your **Forest Admin UI** is **not** part of your codebase: it is managed on Forest Admin servers. As a result, you depend on Forest Admin tools to customize it. Here's what we've built for you:

* Editing: use the [Layout Editor mode](https://docs.forestadmin.com/user-guide/getting-started/master-your-ui/using-the-layout-editor-mode) to intuitively manage your layout (UI)
* Versioning: use [Forest Admin CLI](https://docs.forestadmin.com/developer-guide-agents-python/deploying-to-production/forest-cli-commands) to seamlessly manage your layout versions

#### Development workflow

You’ll find below a state diagram showcasing development scenarios and their related steps for the recommended development workflow:

![](https://2921382565-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2HgnlEINLUAEQC1KgN48%2Fuploads%2Fgit-blob-ec4ccc09c53cec048a8d78ab0953536eb0b0479a%2Fdev-workflow-diagram.jpg?alt=media)

In the next pages, we'll cover each step in detail.
