OverviewGetting startedInstallationComponentsFoundationsCore and stateTheming and layoutAgent toolingAI toolingChange impactRecipesArchitectureCase study: scope ownershipRoadmapHelp and releasesArchitectureRoadmapHelp and releases

The package map

Each package depends only on the ones it needs. Tokens work without JavaScript; components work in any framework or none; state, app services, and the tooling are optional. A boundary check enforces the graph in CI.

Oddkin packages
PackageWhat it is for
@oddkin/aiOptional AI interaction elements, headless controllers, and stream adapters for conversation, inline assistance, research, and agent workflows.
@oddkin/analyzerNode-only static analysis of Oddkin component libraries: Custom Elements Manifest and oddkin.metadata.json, without executing component code, and the agent kits generated from them.
@oddkin/appOptional application lifetime, router, and async resources.
@oddkin/componentsThemed custom elements, Oddkin layout presets, and component metadata.
@oddkin/coreAuthoring foundation: reactive primitives, Scope, OddkinElement, templates, styles, layout recipes, collections, models, registration.
@oddkin/stateOptional stores, selectors, context, persistence, and inspection.
@oddkin/tokensTheme configuration, pure token generation, and CSS, JSON, DTCG, and TypeScript outputs. Browser entry points are DOM-free.
@oddkin/workbenchMetadata-driven documentation tooling. DOM-free example, configuration, page-registry, data-file, and conformance contracts; a test-runner integration.

Contracts

  • Core contracts

    Signals, the binding rule, Scope ownership, templates, and the lifecycle every element follows.

  • Component contracts

    The rules every element follows (fields and forms, collections, overlays, tone, the definition of done) and each element family’s contract.

  • Theming and styling

    The theme configuration, the token pipeline and its outputs, scopes, colour, layout roles, and the styling contract components follow.

The scope-ownership case study shows one decision end to end: Case study: scope ownership.

Decision records

Each decision is recorded with its context, the options considered, and the consequences, in docs/architecture/decisions.

Architecture decision records
RecordDecisionAreaStatus
0001ADR process and change controlProcessAccepted
0002One reactive graph, scheduling, and the binding ruleCoreAccepted
0003Typed property definitions via OddkinElement.with()CoreAccepted
0004Scope ownership and reconnectionCoreAccepted
0005Tagged-template rendering and security modelCoreAccepted
0006OKLCH colour generation, gamut mapping, contrastTokensProposed
0007Alias-closure re-declaration in scopesTokensAccepted
0008Style delivery and CSPCoreAccepted
0009Browser support baselinePlatformAccepted
0010Layout recipe model and cascade layeringLayoutProposed
0011Container/media query compatibility baselineLayoutAccepted
0012Token categories, conditions, and profilesTokensProposed
0013Component data models and region sourcesDataProposed
0014Shared collections and keyed invalidationDataProposed
0015Model builder as source of truthDataProposed
0016Normalized metadata model, stable ids, provenanceMetadataAccepted
0017Standard CEM plus separate Oddkin enrichmentMetadataAccepted
0018Analyzer front end and no-execution ruleMetadataAccepted
0019Workbench preview isolation and frame protocolWorkbenchProposed
0020Theme Studio specimen roles and adaptersWorkbenchAccepted
0021defineExamples formatWorkbenchAccepted
0022@oddkin/agent boundaries and MCP adapterAgentProposed
0023Page registry as single navigation sourceWorkbenchAccepted
0024Content layers and precedenceWorkbenchAccepted
0025Baseline vs draft on foundation pagesWorkbenchAccepted
0026Products and modes sources and discoveryWorkbenchAccepted
0027Updated-date provenanceMetadataAccepted
0028Legacy route redirectsWorkbenchProposed
0029M8 compatibility checkpoint and M12 final freezeProcessAccepted
0030Workbench preview remount policyWorkbenchAccepted
0031Development/production builds and core size budgetCoreAccepted
0032Generated agent kits and project contextAgentProposed
0033Multi-product foundations, recomposition, and product scaleComponents / Theming / ToolingProposed
0034Change impact, portable conformance, explanations, and reproductionsTooling / VerificationProposed
0035Page suspension and back/forward cache restorationCore / AppAccepted
0036Component composition API: compose() and define(definition)CoreAccepted
0037Naming contract: Oddkin, odd-, and oddkinProcess / DistributionAccepted
0038CSS compatibility policy and progressive enhancementPlatformAccepted
0039Cascade layer order for document-level stylesPlatformAccepted
0040AI interaction package: records, controllers, adapters, and elementsComponents / AIAccepted
0041Approved default palette, role vocabulary, and text-style rolesTokensAccepted
0042Complete foundation scales: radius, elevation, motion, stacking, and typeTokensAccepted
0043Composite dependency mechanism: element-reference parts and definition rolesCore / ComponentsAccepted
0044Overlay positioning and the top layerComponents / Core / PlatformAccepted
0045API vocabulary for elementsComponents / AI / MetadataAccepted
0046Plan audit (2026-10-26): revised decisionsPlatform | Components | Agent | ProcessAccepted
0047M8 checkpoint: candidate v1 contracts, assurance and comprehension reviewsProcess, contractsProposed
0048Libraries not built with Oddkin: the standard-CEM baseline, enrichment, and metadata adaptersMetadata, Workbench, change impact, agent kitsAccepted