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

# Remove

> Delete a design module and clean up every reference to it across the workspace.

`ooneex design:remove` deletes a design module you no longer need. It does not just remove the folder — it unwires the module from the rest of the workspace first, so you are not left with broken imports or dangling config. It removes any leftover references in `AppModule` and `SharedModule`, deletes the path alias from the root `tsconfig.json`, drops the module scope from the commitlint config, and only then deletes the `modules/<kebab-name>/` directory.

The command is deliberately narrow: it only removes modules whose `<name>.yml` declares `type: "design"`. Pointing it at a regular module is rejected with an error, and the core `app` and `shared` modules are protected and cannot be removed. A name that does not match any module is reported as an error too.

## Command

```bash theme={null}
ooneex design:remove [options]
```

If you run it without `--name`, you are prompted for the design module to remove. Unless you pass `--silent`, you are asked to confirm before anything is deleted.

## Examples

```bash theme={null}
# Interactive: prompts for the module name, then asks you to confirm
ooneex design:remove
```

```bash theme={null}
# Remove the "ui" design module
ooneex design:remove --name=ui
```

The name is normalized to PascalCase with a trailing `Module` stripped, and the folder on disk uses kebab-case — so `--name=ui`, `--name=Ui`, and `--name=UiModule` all target the same `modules/ui/` directory.

## Options

| Option     | Description                                 | Default             |
| ---------- | ------------------------------------------- | ------------------- |
| `--name`   | Name of the design module to remove.        | Prompted if omitted |
| `--cwd`    | Working directory the command runs in.      | Current directory   |
| `--silent` | Skip prompts, confirmation, and log output. | `false`             |

<Warning>
  This is destructive. The command deletes the entire `modules/<name>/` directory — every controller, service, component, and test inside it — and there is no undo. Commit or branch your work first so the removal is reversible through git.

  Only modules with `type: "design"` in their yml config can be removed. The core `app` and `shared` modules are protected and cannot be removed. Unless you pass `--silent`, you are asked to confirm before deletion.
</Warning>

## What gets cleaned up

Removing a design module touches more than the module folder. In order, the command:

* Removes any leftover references to the module in `AppModule`.
* Removes any leftover references to the module in `SharedModule`.
* Deletes the module's path alias from the root `tsconfig.json`.
* Removes the module's scope from the commitlint config.
* Deletes the `modules/<kebab-name>/` directory.

After it finishes, no imports, aliases, or commit scopes point at the removed module — the workspace is in a consistent state.

## Use with Claude and Codex

The remover ships a matching `design:remove` skill, so your AI agent can run the same cleanup from a natural-language request — confirming the target module, running the command, and reporting what was removed. Initialize the skills once for your agent:

<Tabs>
  <Tab title="Claude">
    ```bash theme={null}
    ooneex claude:init
    ```

    Then ask Claude in natural language — it maps the request to the remover and runs it:

    ```text Prompt icon="terminal" wrap theme={null}
    Remove the "ui" design module from this project.
    ```
  </Tab>

  <Tab title="Codex">
    ```bash theme={null}
    ooneex codex:init
    ```

    Then ask Codex in natural language — it maps the request to the remover and runs it:

    ```text Prompt icon="terminal" wrap theme={null}
    Remove the "ui" design module from this project.
    ```
  </Tab>
</Tabs>

## Related

* [Design System overview](/design-system/overview) — how design modules fit into the workspace.
* [Create a design module](/design-system/create) — scaffold a new design module.
* [design:remove](/cli/commands/design-remove) — the full command reference.
