Skip to main content
talos design:remove deletes a design module you no longer need. It does more than 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, 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

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

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

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.

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.
  • Deletes the modules/<kebab-name>/ directory.
After it finishes, no imports, aliases, or commit scopes point at the removed module, and 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: it confirms the target module, runs the command, and reports what was removed. Initialize the skills once for your agent:
Then ask Claude in natural language, and it maps the request to the remover and runs it:
Prompt