# Stahlwalker ## Docs - [ContractError — Solar Structured Validation Error](https://docs.solarbuild.dev/api/contract-error.md): ContractError is Solar's structured validation error with machine-readable fields and a fix hint for programmatic handling and AI agent self-correction. - [createElement — Solar Framework Vnode API Reference](https://docs.solarbuild.dev/api/create-element.md): Solar's vnode factory. Call it inside a component's render function to build the UI tree that Solar mounts and diffs against the DOM. - [defineComponent — Solar Components API Reference](https://docs.solarbuild.dev/api/define-component.md): Define a Solar component with a typed props schema and render function. Returns a validated ComponentFn you call with props to produce a vnode. - [h() Compact Array Notation — Solar API Reference](https://docs.solarbuild.dev/api/h.md): Solar's h() converts nested arrays into vnodes with less code and fewer tokens, and resolves registered component names automatically. - [onMount and onUnmount — Solar Lifecycle Hooks API](https://docs.solarbuild.dev/api/lifecycle.md): onMount and onUnmount are Solar's lifecycle hooks for running one-time setup logic after the first render and teardown logic when the component is removed. - [mountComponent & unmountComponent — Solar API Reference](https://docs.solarbuild.dev/api/mount-component.md): Attach a Solar component to a DOM container with mountComponent and clean up with unmountComponent using the instance ID it returns. - [registry — Solar Component Catalog API Reference](https://docs.solarbuild.dev/api/registry.md): The Solar component registry catalogs every component in your app and exposes a machine-readable manifest for AI agents and platform tools. - [Types — Solar Prop Type Constants and Slot Validation](https://docs.solarbuild.dev/api/types.md): The Types enum lists all valid Solar prop types, including the slot type that enforces typed component composition and validates vnodes at runtime. - [useMemo Hook — Solar Memoization and Caching API](https://docs.solarbuild.dev/api/use-memo.md): useMemo memoizes the result of an expensive computation in Solar, recomputing only when its dependencies change to avoid redundant work on every render. - [useResource Hook — Solar Async Data Fetching API](https://docs.solarbuild.dev/api/use-resource.md): useResource manages async data fetching in Solar with automatic AbortController cancellation when the key changes, plus loading and error state tracking. - [useState Hook — Solar Reactive State API Reference](https://docs.solarbuild.dev/api/use-state.md): useState lets you add reactive state to a Solar component, persisting values across re-renders and scheduling a re-render whenever the state changes. - [useSubscription Hook — Solar Event Subscription API](https://docs.solarbuild.dev/api/use-subscription.md): useSubscription attaches an event listener in Solar and automatically detaches it on unmount or when the source, event name, or handler reference changes. - [Solar Components: Defining and Structuring Your UI](https://docs.solarbuild.dev/concepts/components.md): Solar components use defineComponent() to declare a name, props schema, and render function, making every component inspectable at runtime. - [Component Contracts: Typed Props and Runtime Validation](https://docs.solarbuild.dev/concepts/contracts.md): Solar validates every prop at runtime when a component is called, throwing a structured ContractError with a fix field when anything is wrong. - [Solar Hooks: State and Side Effects Inside Components](https://docs.solarbuild.dev/concepts/hooks.md): Solar hooks give you state management and three explicit side-effect primitives: useResource, useSubscription, and useMemo, all called inside render(). - [Component Registry: Catalog and Manifest for AI Agents](https://docs.solarbuild.dev/concepts/registry.md): Solar's registry catalogs every component and exposes a machine-readable manifest that AI agents read before generating any composition code. - [Typed Slot Props: Enforced Component Composition Rules](https://docs.solarbuild.dev/concepts/slots.md): Solar's slot type lets parent components declare exactly which child component must fill a slot, enforcing composition rules with a ContractError. - [Generate and Validate Solar Components with AI Agents](https://docs.solarbuild.dev/guides/ai-generation.md): Use the registry manifest and structured ContractErrors to give AI agents the context they need to generate reliable Solar components every time. - [Fetching Async Data in Solar Components with useResource](https://docs.solarbuild.dev/guides/async-data.md): Use useResource to fetch async data, track loading and error state, and automatically cancel in-flight requests when a component's key changes. - [Composing Solar Components Together with Typed Slots](https://docs.solarbuild.dev/guides/composition.md): Compose Solar components by passing rendered vnodes as slot props, with runtime validation that enforces which component type can fill each slot. - [Solar Error Handling: ContractErrors and Async Errors](https://docs.solarbuild.dev/guides/error-handling.md): Catch ContractErrors from prop validation, use their structured JSON for debugging and AI self-correction, and handle runtime errors from useResource. - [How to Install Solar — CLI, CDN, and npm Setup Guide](https://docs.solarbuild.dev/installation.md): Install Solar via the scaffold CLI for a full project setup, or import it directly from the jsDelivr CDN to add it to any existing HTML page instantly. - [Solar: AI-First JavaScript UI Framework for AI Code](https://docs.solarbuild.dev/introduction.md): Solar is a compiler-free JavaScript UI framework for AI-generated code — explicit contracts, structured errors, a component registry, and no build step. - [Solar Quickstart: Build Your First Component in 5 Min](https://docs.solarbuild.dev/quickstart.md): Build your first Solar component with prop contracts and useState, mount it to the DOM, and see structured ContractError validation in action. - [Agent-Driven UIs: Runtime UI Modification with Solar](https://docs.solarbuild.dev/use-cases/agent-driven-uis.md): Build agent-driven UIs where an AI agent modifies the interface at runtime using Solar's registry and contracts. Surgical changes, no full rebuilds. - [Build AI-Generated Internal Tools with Solar Runtime](https://docs.solarbuild.dev/use-cases/ai-generated-uis.md): Use Solar as the runtime layer for AI-generated internal tools. Auto-enforced prop contracts and a full component catalog keep agent output correct. - [Solar as a Runtime for No-Code and Low-Code Builders](https://docs.solarbuild.dev/use-cases/no-code-builders.md): Use Solar as the generation layer for no-code and low-code platforms. Machine-readable schemas give your platform a strict contract for every component.