Modules
See which Modules your app ships with, switch them on and off, and find what to read before you build on one.
Every app gets its starting pack's Modules when it is created. Switch them on and off, or detach them, in the app's Settings → Modules.
A Module is a reusable capability: booking, payments, shared UI and similar building blocks. It is not a mini app. It has no customer-facing URL, icon or launch identity; those belong to Surfaces. See One Product, One App.
Every app comes with 24 Modules. Each one has a reference page that says what it does, which hard cases its tests prove, and what you build on top. Start with Capabilities to find the Modules behind booking, payments, staff pay, point of sale, online ordering and customer accounts.
| Kind | Modules |
|---|---|
| Feature | POS, Booking, Storefront, Catalog, Inventory, Supply chain, Guest ordering, Membership, Customers, Staff, Finance, Queue, Website |
| Shared | Account, Audit log, Branches, Discounts, Outbox, Tour |
| Library | Formatting, i18n, Identity, Infra and Standard UI |
Only the five Library Modules are always on. Shared Modules are switches like the feature Modules, but most feature Modules use them, so switching one off is refused while a Module that uses it is on.
Two switches
An app has two separate switches for its Modules. They do different things, and a page that seems to be missing is usually behind one of them.
| Modules tab | Features in use | |
|---|---|---|
| Where | The app's Settings → Modules in the Stardeck dashboard | Settings → Features in use inside the app's own admin |
| Who uses it | The app's developer or owner | The business owner running the app |
| What off means | The Module is left out of the build: its pages, endpoints and navigation go | The Module is still built, but hidden from staff: sidebar, home, search, Settings, register |
| Its data | Kept | Kept, and every page comes back as it was when it's turned on |
| Takes effect | From the app's next build | At once, for that workspace |
| What it also holds | Per-page switches, Customize screens, Stop updates for this Module | The business type, which sets the switches and renames pages for a kind of business |
Use the Modules tab to decide what your app is built from. Leave the rest to the business: Features in use lets one build serve a spa and a car hire. Switching a Module on in either place also switches on the Modules it uses, and neither lets you switch off a Module another one in use needs. Website and Queue aren't in Features in use: the website is the public site itself, and Queue has its own switch in Settings and starts off.
Business types
Setup asks the owner what kind of business they run. Each business type switches some features off and renames pages: a car hire's products area is Fleet and its bookings are Rentals, a gym's customers are Members. The owner can still switch features one by one afterwards.
The business types are A bit of everything (every feature on), Spa or salon, Restaurant or café, Clothing store, Tour operator, Gym or studio, Online classes, Car hire and Online store. Each Module's reference page lists, under Facts, the business types that switch it off.
A business type is offered only when the app is built with a Module it runs on, so an app without Booking isn't offered the spa. To rename words for your own app, see Customize a Module's words.
Switch Modules on and off
Open the app and go to Settings → Modules. Feature Modules are listed as switches with a count such as 2 of 5 on. Modules that are always on are listed under Always on.
- Switching a Module on also switches on the Modules it uses.
- Switching one off is refused while an enabled Module uses it, or while your app's own code imports it.
- Each row's actions menu has Customize screens and Stop updates for this Module. See Customize a Module's screens and Updates.
From your terminal, the same switches are stardeck modules; see
Manage Modules from your terminal. An agent on your org's MCP server
uses set_module_enabled.
Installation vs connection
- Installation: Stardeck brings the capability into the app, composes it and validates the result. Declared Module pages and API endpoints are mounted automatically.
- Connection: your coding agent (or Starcat Developer in the Build tab) wires it into this product: navigation, permissions, app-level layouts and providers, your screens and data, and tests that it works.
Expect the agent to do and test the connection work whenever you switch a Module on.
What Stardeck composes
Stardeck wires the installed Modules' pages, APIs, Surface contributions (declared slots only) and translations into the app. Optional enhancements run only when both Modules involved are active. These generated connections are maintained by Stardeck: change the Module's source or the app's extension points, never the generated files.
Validation and compatibility
- Stardeck validates each Module's portable structure and required checks, and refuses an incompatible dependency combination or collisions in API paths, app routes or Surface contribution slots.
- If the app has a locale the Module doesn't ship, it uses the Module's English copy and adds an installation note. It does not refuse the install.
- Passing means the Module is structurally and compositionally compatible. That is not finished product integration. The agent must still connect it and test it.
Working with Modules
| Task | Page |
|---|---|
| Build your app's own features on a Module | Build on a Module |
| Add a section, panel or channel to a Module | Extend a Module |
| Reword a Module or add a language | Customize a Module's words |
| Change the sample data your app loads | Customize sample data |
| Change how a Module's pages look | Customize a Module's screens |
| Take an update with Modules changed | Updates |
What Modules are not for
- A distinct audience or device experience: create a Surface.
- An independent product with its own owners or release cadence: create a separate app.