ROADMAP — Shell Foundations — Session, App Catalog, Organizations and Slots for Composed Apps¶
Initiative: INIT-SYSTEMFORGEWEB-001
Repository: github.com/plexusone/systemforge-web
Phase 1 — Session and Switching¶
Theme: The shell reads the session SystemForge serves and switches products and organizations from it
- [x]
RMI-SYSTEMFORGEWEB-006Session provider over the relying-party BFF:/bff/sessionwith memberships, per-application roles and the app catalog; redirect sign-in and sign-out - [x]
RMI-SYSTEMFORGEWEB-007Product switcher from the app catalog: role-filtered, current application first, links across hosts or client-side navigation - Depends on:
RMI-SYSTEMFORGEWEB-006 - [x]
RMI-SYSTEMFORGEWEB-008Controlled organization switcher keyed by organization ID, with the uncontrolled mode kept as opt-in - Depends on:
RMI-SYSTEMFORGEWEB-006 - [x]
RMI-SYSTEMFORGEWEB-009Shell test suite: session fixtures, switcher rules and component behavior - Depends on:
RMI-SYSTEMFORGEWEB-007 - Depends on:
RMI-SYSTEMFORGEWEB-008 - [x]
RMI-SYSTEMFORGEWEB-010Composition modes guide: one build and one host per application, with an example of each
Phase 2 — Chrome¶
Theme: The top bar every application needs, with room for each application's own controls
- [x]
RMI-SYSTEMFORGEWEB-011Named slots in AppShell and Navbar: brand, command, actions, breadcrumbs and profile items - [x]
RMI-SYSTEMFORGEWEB-012Theme: light, dark and system on the root element, persisted with a fallback when storage is unavailable - [x]
RMI-SYSTEMFORGEWEB-013Profile menu: identity, current organization and application role, profile items and sign out, with no default links - Depends on:
RMI-SYSTEMFORGEWEB-006 - [ ]
RMI-SYSTEMFORGEWEB-014Tooltips and accessibility: tooltip on icon controls, keyboard operation, Escape and outside click, focus return - [ ]
RMI-SYSTEMFORGEWEB-015Responsive top bar and a navigation model option: sidebar, top tabs or none - Depends on:
RMI-SYSTEMFORGEWEB-011
Phase 3 — Brand and Baseline¶
Theme: A deployment skins the shell without forking it, and adopts the baseline with one dependency
- [ ]
RMI-SYSTEMFORGEWEB-016Brand configuration interface: name, logo, product label and design tokens - [ ]
RMI-SYSTEMFORGEWEB-017Styling delivery ADR and compiled shell CSS for applications without Tailwind - [ ]
RMI-SYSTEMFORGEWEB-018Baseline presets: TypeScript, lint and test configuration published for applications - [ ]
RMI-SYSTEMFORGEWEB-019Release the shell foundations with migration notes for existing consumers - Depends on:
RMI-SYSTEMFORGEWEB-016 - Depends on:
RMI-SYSTEMFORGEWEB-017 - Depends on:
RMI-SYSTEMFORGEWEB-018 - Depends on:
RMI-SYSTEMFORGEWEB-022
Phase 4 — App Contract and Hosting¶
Theme: An application exports its pages once and runs in any stack's shell, or on its own in DevShell
- [x]
RMI-SYSTEMFORGEWEB-002App and shell contracts in @plexusone/host: AppModule, AppContext, useAppContext and Shell - [x]
RMI-SYSTEMFORGEWEB-020createHost: session, router under /orgs/:org, choosing an organization, and not-found and no-access pages - Depends on:
RMI-SYSTEMFORGEWEB-002 - [x]
RMI-SYSTEMFORGEWEB-021DevShell: a neutral shell for running one application on its own, with a fake session - Depends on:
RMI-SYSTEMFORGEWEB-002 - [x]
RMI-SYSTEMFORGEWEB-022renderApp testing helper, an AppModule conformance check, and the guide to writing and hosting an application - Depends on:
RMI-SYSTEMFORGEWEB-020 - Depends on:
RMI-SYSTEMFORGEWEB-021 - [ ]
RMI-SYSTEMFORGEWEB-023One build: createHost with several applications in one front end - Depends on:
RMI-SYSTEMFORGEWEB-020