Local Development

Manage Modules from Your Terminal

List, add, switch on or off and uninstall an app's Modules with stardeck modules.

Run it inside your app's clone:

npx @stardeckai/cli@latest modules list
CommandWhat it does
modules listEvery Module the app has or has removed: on, off or uninstalled, where it came from, and what uses it.
modules enable <module>Switches a Module on, with the Modules it uses.
modules disable <module>Switches a Module off. Refused while an enabled Module uses it.
modules uninstall <module>Removes the Module's source from main. Your data stays.
modules add <module>Brings a Module back, or installs one published by another app.
OptionWhat it does
--from <app>With add: install the published release from another app in your organization.
--version <v>With --from: the release to install. Defaults to the latest.
--dry-runShow what would change and stop.
--yesApply without the confirmation prompt. Required without a terminal.
--jsonMachine-readable output. Without --yes it stays a dry run.
--project <id>App to change. Defaults to the clone's stardeck.project.json.

What uninstall does

Uninstalling a Module commits its removal to main, so the Module's code stops being part of the app. Stardeck shows the plan first and applies it only for the confirmation it showed: if the app changed in between, it refuses and shows the new plan.

Uninstall refuses, and changes nothing, when:

  • another Module uses it, including one that is switched off;
  • the app's own code imports it;
  • you changed its source from Stardeck's version, or stopped its updates;
  • the checkout has work that would be lost, or the branch is locked by someone else;
  • you are not an admin of the app.

Uninstall also removes the folders other Modules keep for it (<other>/enhancements/<module>/), because they import it; restore brings them back. A customized one blocks the uninstall like any other edited file. It never removes the Module's tables or rows, shared packages, or your edits elsewhere. It does not deploy: production keeps running the previous build until you deploy, and a production schema change needs its own approval.

Adding a Module back

modules add restores a Module you uninstalled at the version your app is based on, not the latest. Later updates then manage it again.

modules add <module> --from <app> installs a published release from another app in the same organization. The app keeps taking updates, and they leave that Module alone. A Stardeck update that ships a Module with the same name, or that makes one of its Modules use an uninstalled Module, is refused with the names.

If a run is interrupted, run the command again with --yes to finish or undo it.

Next steps