Skip to main content
talos spa:remove deletes a spa module you created earlier. It finds the module by name, removes it from the rest of your app, and deletes its directory, leaving you with a clean project rather than a half-removed module that breaks the build. It only touches modules that are actually spas: a module whose <name>.yml declares type: "spa". Anything else is left alone. The core app and shared modules are protected and can never be removed, and asking to remove a module that does not exist is reported as an error.

How it works

Removing a spa is more than deleting a folder. References to it live across the project, and leaving them behind would break compilation. The command unwinds them in order, then deletes the directory:

CLI command

Examples

The name is normalized to PascalCase with a trailing Module stripped, and the folder it deletes uses the kebab-case form (so Admin, admin, and AdminModule all resolve to modules/admin/).

Options

This is destructive. The command deletes the entire modules/<name>/ directory and everything in it, so commit your work or branch first so you can recover it.
  • Only modules marked type: "spa" can be removed; a non-spa module is rejected.
  • The core app and shared modules are protected and cannot be removed.
  • You will be asked to confirm before anything is deleted, unless you pass --silent, which skips the prompt and removes the module without asking.

What gets cleaned up

When the command finishes, every trace of the module is gone:
  • References to the module in AppModule and SharedModule.
  • The module’s path alias in the root tsconfig.json.
  • The modules/<kebab-name>/ directory and all of its files.
Removing a spa does not remove the design module it used. Designs are separate modules — if you no longer need the design, remove it on its own with design:remove.

Use with Claude and Codex

The spa:remove generator ships a matching skill, so you can remove a spa by asking your AI agent in natural language instead of remembering the flags. Initialize the skills once for your agent:
Then ask Claude in plain language. It maps the request to the command and runs it:
Prompt
The prompt above maps to talos spa:remove --name=admin, then walks through the confirmation before deleting the module.