Building blocks
- @xcwds/core The @xcwds kernel: plugins, hooks, decorators, config, storage and settings for private, offline-first PWAs.
- @xcwds/sveltekit Binds the @xcwds kernel to SvelteKit: a Vite plugin, svelte.config and server hooks, the <App> component, Svelte 5 persist() and reactive settings, and a route registry.
- @xcwds/testing Test an @xcwds app and its plugins: a Vitest kit (test app, fake clock, simulated tabs, worker hooks) and Playwright helpers (hydration, tap targets, a GitHub Pages-like server, fake deploys, a config preset).
- @xcwds/create npm create @xcwds: a new installable, offline-first PWA on @xcwds in one command, and `xcwds add <plugin>` to add plugins later.
Plugins
- @xcwds/plugin-shell The app shell for @xcwds apps: header with the page title and back arrow, a tab bar on phones, header links or a sidebar on wider screens, toasts and a Home page plugins add to.
- @xcwds/plugin-theme Light, dark and system colour schemes for @xcwds apps, applied before first paint so nothing flashes.
- @xcwds/plugin-offline Offline support for @xcwds apps: precaching and runtime caching in the service worker, an offline fallback page, and an offline notice.
- @xcwds/plugin-update Updates that wait for the user in @xcwds apps: a new version waits until the user taps Update, postponed while something a reload would interrupt is running.
- @xcwds/plugin-install Install support for @xcwds apps: an Install button where the browser offers one, Add to Home Screen steps on iPhone and iPad, hidden once installed.
- @xcwds/plugin-settings The settings page for @xcwds apps: every plugin's settings with built-in controls, sections plugins add, backups (download, share, import, clear) and About.
- @xcwds/plugin-tools A tool registry for @xcwds apps: an index page of small tools, pinned and recently used tools on Home, and manifest shortcuts, with private tools kept out of recents and sharing.
- @xcwds/plugin-timers Timers for @xcwds apps that count against wall-clock end times, so they survive a backgrounded tab and a reload, ring on every page and hold off app updates while running.
- @xcwds/plugin-share Sharing for @xcwds apps: a Share button in the installed app that never shares what you typed, and a private share target whose shared content never reaches a server.
- @xcwds/plugin-changelog What's new for @xcwds apps: release notes on the settings page, a New badge on the ones not seen yet, and a toast after an update.