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

# Module management

> Create, share, and manage reusable modules across applications

Modules are reusable building blocks that you can share across multiple applications in your workspace. Manage modules from [BRICKS Controller](/controller) or the [BRICKS CLI](/cli).

## Creating a module

<Steps>
  <Step title="Open modules">
    In BRICKS Controller, go to **Modules**.
  </Step>

  <Step title="Create a new module">
    Click **Create Module** and enter a name and description.
  </Step>

  <Step title="Configure the module">
    Set the layout dimensions, visibility, and other options.
  </Step>
</Steps>

## Module settings

| Setting                   | Description                                   |
| ------------------------- | --------------------------------------------- |
| **Name**                  | Display name for the module                   |
| **Description**           | Brief description of what the module does     |
| **Layout width / height** | Default dimensions in pixels                  |
| **Public**                | Make the module available to other workspaces |
| **Allow modify**          | Allow others to modify the module             |

## Config Editor

Open a module and click **Config Editor** to build and edit its configuration visually in the browser. Modules support the same entities as applications — subspaces, canvases, bricks, generators, data, animations, and data calculations.

<Card title="Config Editor guide" icon="pen-to-square" href="/controller/config-editor">
  Learn how to use the Config Editor to build and edit configurations.
</Card>

## Versioning and releases

Each update to a module creates a new version. You can:

* **View version history** — See all released versions with timestamps and changelogs
* **Release a version** — Publish a version for use in applications
* **Roll back** — Revert to a previous version

## Using modules in applications

After creating a module, you can include it in any application in your workspace. Modules update independently — when you release a new module version, applications using it can pick up the update.

## Generate a project

Generate a [bricks-ctor](/ctor-pkg) codebase from an existing module:

1. Open the module detail page
2. Click **Generate Project**
3. Configure AI instructions and CI/CD options
4. Click **Download Project (.zip)**

You can also use the [BRICKS CLI](/cli) to manage modules from the command line:

```bash theme={null}
# List all modules
bricks module list

# Create a new module
bricks module new -n "my-module"

# Initialize a bricks-ctor project from a module
bricks ctor init <module-id> --type module --yes
```
