Repository navigation
Configuration Reference
Allislet v1.0.0-alpha is configured through a single root config object, typically exposed as allislet.config.ts. The config defines the runtime identity, feature activation, storage model, theme, library injection strategy, and lifecycle hooks.
import { defineConfig } from "allislet";
export default defineConfig({
id: "my-sdk-app",
name: "Dev Tools Suite",
version: "v1.0.0-alpha",
dataUrl: "/data",
meta: {
owner: "internal",
environment: "alpha",
},
libraries: [
{ name: "socket.io-client", url: "https://cdn.example.com/socket.io-client.js" },
],
theme: {
mode: "dark",
accentColor: "#74c7ec",
defaultDockPosition: "right",
},
storage: {
namespace: "my_sdk_v1",
crossDomainHubUrl: "http://localhost:5173/public/storage.html",
encryptLocalStorage: false,
},
features: {
patchFetch: true,
patchXHR: true,
interceptSockets: true,
autoExtractBearer: true,
},
activeTabs: [
"network-logger",
"websocket-manager",
"macro-studio",
"settings",
],
hotkeys: [
{ combo: "Alt+K", action: "ui:do-thing" },
],
onMount({ eventBus, pageExec, storage, antiDetect }) {
console.log("Initialized");
},
onCleanup() {
console.log("Cleaned up");
},
});A unique instance identifier for the mounted app. This is usually used as the render target or mount key.
The user-facing title of the SDK instance.
This project follows semantic versioning and is currently pinned to v1.0.0-alpha.
Optional override for the path where JSON assets are loaded by useData.
A free-form runtime metadata bag. This can store extra values such as owner, environment, flags, or custom runtime properties.
The libraries array allows external scripts to be loaded on demand.
libraries: [
{ name: "socket.io-client", url: "https://cdn.example.com/socket.io-client.js" },
];This is helpful when the SDK needs a browser utility, socket client, or additional runtime package not bundled directly into the core overlay system.
The theme block controls the shell appearance.
theme: {
mode: "dark",
accentColor: "#74c7ec",
defaultDockPosition: "right",
}The theme engine supports:
- dark or light mode
- accent colors
- default dock placement
- visual consistency across overlay panels and windows
Storage settings define how app state and runtime storage are namespaced and shared.
storage: {
namespace: "my_sdk_v1",
crossDomainHubUrl: "http://localhost:5173/public/storage.html",
encryptLocalStorage: false,
}This is how the SDK manages:
- GlobalStorage
- StorageNamespace
- StatePersist
- EncryptedStore
- cross-domain storage synchronization
The features block enables runtime services involved in network control and browser instrumentation.
features: {
patchFetch: true,
patchXHR: true,
interceptSockets: true,
autoExtractBearer: true,
}Features commonly include:
- patchFetch
- patchXHR
- interceptSockets
- autoExtractBearer
- page-scope execution toggles
- runtime utility activation
The activeTabs list defines which built-in views are enabled or visible in the app shell.
activeTabs: [
"network-logger",
"websocket-manager",
"macro-studio",
"settings",
]This creates a dynamic control surface where the app shell can render built-in modules such as:
- network logger
- websocket manager
- js console
- storage explorer
- dom inspector
- macro studio
- settings
- chat
- admin panel
Hotkeys are declared in the configuration and connected to event actions.
hotkeys: [
{ combo: "Alt+K", action: "ui:do-thing" },
]This pattern is especially useful for keyboard-first workflows, developer tools, and command palette entrypoints.
The SDK supports lifecycle callbacks for startup and cleanup.
onMount({ eventBus, pageExec, storage, antiDetect }) {
console.log("Initialized");
},
onCleanup() {
console.log("Cleaned up");
}Use this to initialize:
- hotkeys
- event listeners
- remote services
- runtime watchers
- any app-level bootstrapping logic
Use this to release:
- event subscriptions
- timers
- worker tasks
- hotkey listeners
- service state
The design philosophy is configuration-first. Instead of hard-coding behavior into the app root, the SDK expects runtime settings to be clear and declarative.
This benefits the system in several ways:
- easier environment-specific configuration
- cleaner bootstrap code
- predictable feature toggling
- easier debugging and diagnosis
- safer multi-instance runtime behavior
For production-style or team environments, prefer to define separate config sets for:
- development
- staging
- smoke testing
- production overlays
In practice, this means toggling:
- storage namespace and hub URL
- enabled tabs
- feature flags
- token extraction
- hotkeys and command routing
The configuration layer is the entrypoint for the SDK. It binds runtime identity, storage and theme behavior, feature toggles, and lifecycle hooks into a single coherent boot object. The result is a runtime that is modular, isolated, highly configurable, and safe to mount inside a host page.