Package family

26 packages, one umbrella

Products may import @ottili/foundation-framework for the standard case, or reach for individual packages when they need a narrower surface. Every number on this page is read from the repository at build time — no hand-maintained marketing figures.

26

packages

24 ship at runtime, the rest are quality gates

56 060

source lines

across 325 files, tests excluded

31 674

test lines

119 suites

57%

test-to-source ratio

by line count, not by coverage

Dependency direction · SoT §8.9

Layers, not a graph of favours

Contracts depend on nothing. Core depends on contracts and stays free of React. UI depends on contracts and core. Feature runtimes layer on top. Circular dependencies fail the architecture test suite.

@ottili/foundation-contracts (no dependencies, no DOM) └── @ottili/foundation-core (framework-agnostic logic, no React) ├── @ottili/foundation-ui (tokens, themes, components) ├── @ottili/foundation-auth · -context · -runtime │ └── feature runtimes: navigation, shell, command, │ dashboard, notifications, settings, customization, │ capabilities, integrations, extensions ├── @ottili/foundation-platform (web · pwa · tauri · electron) └── @ottili/foundation-framework (umbrella re-export)

Inventory

Every package in the family

PackageLayerResponsibilitySourceTestsSoT
@ottili/foundation-docs
v1.0.10
public-experience4 804
23 files
1 319
4 suites
—
@ottili/foundation-marketing
v1.0.10
public-experienceFoundation public experience layer: marketing shell, primitives, sections and landing-page recipes for Ottili's public sites4 792
23 files
1 418
7 suites
§8.3 §14 §47
@ottili/foundation-contracts
v1.0.10
ContractsPure TypeScript contracts for the Ottili Foundation Framework. No React, no browser globals — see docs/OTTILI_FOUNDATION_FRAMEWORK_SOURCE_OF_TRUTH.md §8.1.2 245
22 files
233
2 suites
§8.1.
@ottili/product-contracts
v1.0.10
ContractsStable cross-product composition contracts: product manifests, accent helpers and validation317
4 files
105
1 suites
§9 §35
@ottili/foundation-core
v1.0.10
Core logicFramework-agnostic Foundation logic: manifest validation, contribution merge, feature-state resolution, cache keys, stable ids. No React6 177
23 files
5 565
23 suites
§8.2 §8.9
@ottili/foundation-ui
v1.0.10
Design systemFoundation design system: SoT §14 tokens, themes, density, and the §47 component inventory.11 602
87 files
3 455
10 suites
§14 §47
@ottili/foundation-shell
v1.0.10
ShellTopbar, sidebar, mobile nav, inspector and switchers1 708
9 files
1 165
4 suites
§8.4 §15
@ottili/foundation-auth
v1.0.10
RuntimeAuth redirect, PKCE code exchange, session state machine, refresh, expiry and account switch838
6 files
579
3 suites
§8.6 §12
@ottili/foundation-context
v1.0.10
RuntimeCompany/product/locale context, context revision, cache invalidation and cross-tab coordination671
6 files
578
1 suites
§8.7 §11 §12.5
@ottili/foundation-runtime
v1.0.10
RuntimeBootstrap loader, generated-client transport, contribution assembly and error boundaries653
3 files
565
1 suites
§8.5
@ottili/unified-api-client
v1.0.10
RuntimeCanonical public client surface for the Unified API: FoundationClient re-exported from @ottili/foundation-runtime, plus response validation, cursor pagination, SSE and streaming uploads.310
6 files
406
5 suites
§10.6
@ottili/foundation-capabilities
v1.0.10
Feature runtimesShared capability runtime: AI, Files, Flows, Approvals, Activity, Jobs7 544
33 files
5 026
17 suites
§8.8 §25
@ottili/foundation-extensions
v1.0.10
Feature runtimesExtension runtime: manifest validation, compatibility, lifecycle, activation, sandboxed host and the RPC bridge2 384
10 files
1 581
6 suites
§8.8 §27 §33 §34
@ottili/foundation-command
v1.0.10
Feature runtimesSearch providers, command palette, command parser and the Ottili Workbench2 315
8 files
1 690
5 suites
§8.8 §20 §21
@ottili/foundation-notifications
v1.0.10
Feature runtimesNotification inbox, realtime transport and preferences1 863
9 files
1 602
5 suites
§8.8 §23
@ottili/foundation-dashboard
v1.0.10
Feature runtimesDashboard grid engine, widget runtime and legacy importer1 835
9 files
1 209
4 suites
§8.8 §22
@ottili/foundation-customization
v1.0.10
Feature runtimesWhite-label inheritance, draft/publish lifecycle and validation mirroring1 632
7 files
1 291
5 suites
§8.8 §18 §48
@ottili/foundation-settings
v1.0.10
Feature runtimesFoundation settings runtime with React bindings Re-exports the core settings module and adds hooks and UI components.93
3 files
157
1 suites
§24
@ottili/foundation-integrations
v1.0.10
Feature runtimesPublic surface for the Foundation integration runtime43
3 files
57
1 suites
§26
@ottili/foundation-platform
v1.0.10
DistributionDistribution adapters: web, PWA, Tauri and Electron behind one contract1 361
8 files
920
2 suites
§8.8 §29
@ottili/foundation-observability
v1.0.10
Platform servicesTelemetry and observability React bindings265
4 files
376
2 suites
§32
@ottili/extension-sdk
v1.0.10
Extension SDKStable SDK for approved Ottili extensions Exposes only contracts and core helpers — no Foundation private internals.929
6 files
187
1 suites
§27 §34
@ottili/foundation-framework
v1.0.10
UmbrellaUmbrella package that re-exports the public Foundation Framework surface716
4 files
597
2 suites
§1
@ottili/foundation-testing
v1.0.10
Quality gatesTest factories and helpers for Foundation consumers713
5 files
490
2 suites
§41
@ottili/foundation-architecture
v1.0.10
Quality gatesPackage boundary and architecture tests for the Foundation Framework7
1 files
901
4 suites
§37 §39

Internal edges

Who depends on whom

Only @ottili/* dependencies are listed. Third-party dependencies are deliberately few — the framework does not want a transitive dependency to decide how an Ottili product renders.

@ottili/foundation-auth

@ottili/foundation-contracts@ottili/foundation-core

@ottili/foundation-capabilities

@ottili/foundation-context@ottili/foundation-contracts@ottili/foundation-core@ottili/foundation-runtime@ottili/foundation-ui

@ottili/foundation-command

@ottili/foundation-context@ottili/foundation-contracts@ottili/foundation-core@ottili/foundation-runtime@ottili/foundation-ui

@ottili/foundation-context

@ottili/foundation-contracts@ottili/foundation-core

@ottili/foundation-core

@ottili/foundation-contracts

@ottili/foundation-customization

@ottili/foundation-contracts@ottili/foundation-core@ottili/foundation-ui

@ottili/foundation-dashboard

@ottili/foundation-contracts@ottili/foundation-core@ottili/foundation-ui

@ottili/extension-sdk

@ottili/foundation-contracts@ottili/foundation-core

@ottili/foundation-extensions

@ottili/foundation-contracts@ottili/foundation-core@ottili/foundation-ui

@ottili/foundation-framework

@ottili/extension-sdk@ottili/foundation-auth@ottili/foundation-capabilities@ottili/foundation-command@ottili/foundation-context@ottili/foundation-contracts@ottili/foundation-core@ottili/foundation-customization@ottili/foundation-dashboard@ottili/foundation-extensions@ottili/foundation-integrations@ottili/foundation-navigation@ottili/foundation-notifications@ottili/foundation-observability@ottili/foundation-platform@ottili/foundation-runtime@ottili/foundation-settings@ottili/foundation-shell@ottili/foundation-testing@ottili/foundation-ui@ottili/product-contracts@ottili/unified-api-client

@ottili/foundation-integrations

@ottili/foundation-contracts@ottili/foundation-core

@ottili/foundation-marketing

@ottili/foundation-contracts@ottili/foundation-core@ottili/foundation-ui

@ottili/foundation-navigation

@ottili/foundation-context@ottili/foundation-contracts@ottili/foundation-core

@ottili/foundation-notifications

@ottili/foundation-context@ottili/foundation-contracts@ottili/foundation-core@ottili/foundation-runtime@ottili/foundation-ui

@ottili/foundation-observability

@ottili/foundation-core

@ottili/foundation-platform

@ottili/foundation-contracts@ottili/foundation-core@ottili/foundation-ui

@ottili/product-contracts

@ottili/foundation-contracts@ottili/foundation-core

@ottili/foundation-runtime

@ottili/foundation-contracts@ottili/foundation-core

@ottili/foundation-settings

@ottili/foundation-contracts@ottili/foundation-core

@ottili/foundation-shell

@ottili/foundation-context@ottili/foundation-contracts@ottili/foundation-core@ottili/foundation-navigation@ottili/foundation-ui

@ottili/foundation-testing

@ottili/foundation-contracts

@ottili/foundation-ui

@ottili/foundation-contracts@ottili/foundation-core

@ottili/unified-api-client

@ottili/foundation-contracts@ottili/foundation-core@ottili/foundation-runtime