Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.livepeer.org/llms.txt

Use this file to discover all available pages before exploring further.

File Placement Reference

Read this before writing any component or script file. Canonical placement rules derived from the component framework and script framework governance specifications.

Components

Root: snippets/components/

Categories (ask these questions in order)

QuestionIf yesFolder
Is it a single visual atom with no children, no fetching, no arrangement?elementelements/
Does it hold, group, or spatially arrange other components?wrapperwrappers/
Does it take content and present it in a formatted way?displaydisplays/
Is it part of the page’s outer structure, typically used once?scaffoldingscaffolding/
Does it fetch, embed, or bind to external/third-party data?integratorintegrators/
Is it a non-component config/theme object?configconfig/

Sub-niches by category

  • elements: a11y, buttons, callouts, icons, images, links, math, social, spacing, text
  • wrappers: accordions, cards, containers, grids, lists, steps, tables
  • displays: code, diagrams, quotes, response-fields, video
  • scaffolding: frame-mode, heroes, portals
  • integrators: blog, embeds, feeds, video-data

Placement path

snippets/components/<category>/<subniche>/ComponentName.jsx

Common mistakes

WrongRightWhy
BadgeWrapper in elements/BadgeWrapper in wrappers/Category is determined by what the component DOES, not what it is named after
New component in closest-sounding folderRead the 6 questions abovePattern-matching on name produces wrong placement. Use the decision questions
Component in repo rootNeverAll components go in snippets/components/<category>/<subniche>/

Required JSDoc header (7 tags)

@component, @type, @subniche, @status, @description, @accepts, @dataSource (if integrator)

Scripts

Root: operations/scripts/

Types (Layer 1)

TypeFolderWhat it does
auditaudits/Read-only scan, measure, report
generatorgenerators/Produce new files from source data
validatorvalidators/Enforce rules with pass/fail gate
remediatorremediators/Bulk fix or repair existing files
dispatchdispatch/Dispatch work to other scripts or agents
automationautomations/Automated pipelines: translation, data fetching, transforms

Concerns (Layer 2)

ConcernFolderWhat it covers
contentcontent/Docs pages, copy, SEO, veracity, quality
componentscomponents/Component library, registry, CSS, naming
governancegovernance/Scripts about scripts, repo structure, agent docs
aiai/LLM files, agent packaging, skills sync

Placement path

operations/scripts/<type>/<concern>/<niche>/script-name.js

Required JSDoc header (11 tags, strict order)

@script, @type, @concern, @niche, @purpose, @description, @mode, @pipeline, @scope, @usage, @policy

Before writing ANY file

  1. Determine the category using the decision questions (components) or type+concern (scripts)
  2. Check the target folder exists
  3. If unsure, state: “This component does [X]. That makes it a [category] because [reasoning]. Placing at [path]. Confirm?”
  4. Never place files based on name pattern-matching. Always reason from what the component/script DOES

Canonical sources

Last modified on April 8, 2026