@mounaji_npm/app-bootstrap
v0.4.2
Published
Idempotent bootstrap hooks for production Mounaji shell initialization
Maintainers
Readme
@mounaji_npm/app-bootstrap
App bootstrap helpers for one-time initialization tasks, including system assistants setup.
Install
npm install @mounaji_npm/app-bootstrapQuick Start
import { useSystemAssistantsBootstrap } from '@mounaji_npm/app-bootstrap';
export function AppBootstrap({ user, showOnboarding }) {
useSystemAssistantsBootstrap({
user,
showOnboarding,
maxRetries: 2,
createInitializer: async () => {
const { systemAssistantsInitializer } = await import('./services/systemAssistantsInitializer.js');
return systemAssistantsInitializer;
},
});
return null;
}Add this near your app root so initialization runs once per browser session.
API
useSystemAssistantsBootstrap(options)
Options:
user— current authenticated user object.showOnboarding— settrueto defer bootstrap while onboarding is active.globalFlag— optional browser-global key used as one-time guard. Default:systemAssistantsInitialized.maxRetries— retry attempts when initializer fails. Default:2.createInitializer— async function returning an object with:areSystemAssistantsInitialized(): Promise<boolean>initializeSystemAssistants(): Promise<void>
Behavior:
- Skips execution on SSR.
- Skips when no user is logged in.
- Retries with backoff when initialization fails.
- Prevents duplicate initialization using a window-level flag.
