Skip to content

Configuration Reference

I don’t codddde edited this page Sep 13, 2026 · 1 revision

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.

Primary config contract

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");
  },
});

Identity and metadata

id

A unique instance identifier for the mounted app. This is usually used as the render target or mount key.

name

The user-facing title of the SDK instance.

version

This project follows semantic versioning and is currently pinned to v1.0.0-alpha.

dataUrl

Optional override for the path where JSON assets are loaded by useData.

meta

A free-form runtime metadata bag. This can store extra values such as owner, environment, flags, or custom runtime properties.

Library ingestion

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.

Theme configuration

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 configuration

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

Feature toggles

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

Active tabs

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

Hotkey registration

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.

Lifecycle hooks

The SDK supports lifecycle callbacks for startup and cleanup.

onMount({ eventBus, pageExec, storage, antiDetect }) {
  console.log("Initialized");
},

onCleanup() {
  console.log("Cleaned up");
}

onMount

Use this to initialize:

  • hotkeys
  • event listeners
  • remote services
  • runtime watchers
  • any app-level bootstrapping logic

onCleanup

Use this to release:

  • event subscriptions
  • timers
  • worker tasks
  • hotkey listeners
  • service state

Configuration patterns and conventions

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

Recommended config setup

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

Summary

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.

Clone this wiki locally