Skip to content

Architecture ​

ATLAS is developed as a modular TypeScript monorepo.

Packages ​

PackageResponsibility
coreCentral contracts and foundational types
foundationShared infrastructure and general building blocks
runtimeRuntime environment, services and service container
rendererPresentation layer and renderer abstractions
homeassistantIntegration package for Home Assistant workflows
themeShared theme and design foundations
devtoolsDiagnostics and development tools
kernelModule contracts, service container and infrastructure
workspaceWorkspace readiness contracts
file-studioInternal File Studio contracts and Runtime adapter; the installable web plugin remains external
notifyarchiveInternal notification archive contracts

Architecture Principles ​

ATLAS follows a few fixed principles:

  • clear separation between contracts and implementations
  • small, replaceable modules
  • testable components
  • dependencies through defined interfaces
  • reference implementations for central services
  • long-term plugin extensibility

Events ​

The event layer includes:

  • Event
  • EventBus
  • Handler
  • Subscription
  • Filter
  • Publisher
  • Subscriber

DefaultEventBus is the reference implementation.

Services and Dependency Injection ​

The Runtime Foundation contains the groundwork for:

  • service descriptors
  • service registration
  • dependency injection
  • service containers
  • controlled dependency resolution

Planned Usage ​

ATLAS is intended to support:

  • Home Assistant tools
  • dashboard components
  • diagnostics applications
  • plugin-based desktop or web applications
  • the planned Lovelace UV Card

The contracts are still in development; this architecture does not promise a stable plugin API. See Development Status.