# raavl > TypeScript audio waveform player and annotation toolkit for JavaScript and React. Read https://raavl.dev/skill.md for the integration workflow, https://raavl.dev/docs/skills for skill installation, or https://raavl.dev/llms-full.txt for the complete documentation. ## Skill - [raavl-integrate](https://raavl.dev/skill.md): Integrate raavl into an existing application. ## Documentation - [Regions and markers](https://raavl.dev/markdown/annotations/content.md): Source-bound annotations, controlled editing, keyboard interactions, and validated JSON. - [State and errors](https://raavl.dev/markdown/errors/content.md): Keep audio loading, waveform preparation, and playback failures separate. - [Introduction](https://raavl.dev/markdown/content.md): An audio waveform player that fits the way you build. - [Touch and keyboard](https://raavl.dev/markdown/interactions/content.md): Seeking, selection, and editing that work beyond a mouse. - [Optional modules](https://raavl.dev/markdown/modules/content.md): Compose a timeline, minimap, undo/redo history, and magnetic snapping. - [Player API](https://raavl.dev/markdown/player/content.md): Control playback and subscribe separately to semantic state and time. - [Quickstart](https://raavl.dev/markdown/quickstart/content.md): A working player in no time. - [React API](https://raavl.dev/markdown/react/content.md): The shared player and renderer, with React ownership and subscriptions. - [Skills](https://raavl.dev/markdown/skills/content.md): Give your coding agent a focused workflow for integrating raavl into your app. - [Sources and peaks](https://raavl.dev/markdown/sources/content.md): Load URL audio, local files, or existing media, with decoded or precomputed waveforms. - [Styling and themes](https://raavl.dev/markdown/styling/content.md): Ordinary CSS for the DOM, drawing options for Canvas, and portable JSON themes. - [Waveform view](https://raavl.dev/markdown/waveform/content.md): Drawing, interaction, and viewport options for the shared DOM renderer.