Contributing to Livepeer Docs
Welcome! Livepeer docs are open source and we value contributions from the community. This issue serves as a one-stop onboarding guide and a tracker for good first issues.
Quick start
# 1. Fork and clone
git clone https://github.com/<your-username>/docs.git && cd docs
git remote add upstream https://github.com/livepeer/docs.git
# 2. Check out the working branch
git checkout docs-v2
# 3. Set up the dev environment
bash tools/lpd setup --yes
# 4. Create your branch
git checkout -b docs/your-change-description
# 5. Start the local dev server
lpd dev
Note: The repo deploys from docs-v2, not main. Always branch from docs-v2.
Repo structure at a glance
| Directory |
What lives here |
v2/ |
All current published docs pages (MDX) |
v1/ |
Frozen legacy pages — do not edit |
snippets/components/ |
Reusable JSX components |
snippets/data/ |
Data files consumed by pages |
snippets/assets/ |
Images, videos, logos |
snippets/templates/ |
Page templates and examples |
operations/ |
Scripts, tests, governance tooling |
docs-guide/ |
Internal style guides and governance |
docs.json |
Navigation config (source of truth for routing) |
.mintignore |
Files excluded from the published site |
Navigation (docs.json)
Pages are organised as: Version > Language > Tab (dropdown) > Anchor (section) > Group > Pages
Current v2 tabs: Home, About, Developers, Gateways, Orchestrators, Delegators, Solutions, Resources.
To add a page to the nav, add its path to the appropriate group in docs.json.
Writing conventions
File format
- All docs pages are MDX (
.mdx extension, not .md)
- Frontmatter is required:
title, description, sidebarTitle at minimum
Language and style
- UK English throughout (-ise, -our, -re)
- No em dashes. Use commas, colons, or semicolons instead
- No questions in headings
- Lead with facts, end with facts
- See the style guide for full rules
Mintlify constraints
- No
import React from 'react' or React hooks in MDX pages
- Use root-absolute paths for imports (e.g.
/snippets/components/...)
- Include file extensions in import paths
- No hardcoded colour values. Use CSS custom properties from
style.css
Components
- 115+ custom components available in
snippets/components/
- Browse templates in
snippets/templates/ for page patterns
- VS Code snippets available. Run
lpd vscode:install for autocomplete
Submitting a PR
Before you submit
Commit message format
Use conventional prefixes:
docs: for content changes
fix: for corrections
feat: for new pages or features
chore: for tooling, config, non-content
Branch naming
Use docs/ prefix with kebab-case: docs/fix-gateway-install-steps
PR template
The repo has a PR template with a checklist. Fill it in. Reviewers use it to assess your change.
Review process
- Reviews within 24 to 72 hours depending on scope
- Section owners (see CODEOWNERS) review area-specific changes
- Copy governance checks run automatically on PR
Good first issues
Looking to get started? Here are areas where contributions are especially welcome:
Content fixes
Typos and grammar
Accessibility
Translation
Component examples
Resources
Questions?
Drop a comment on this issue or ask in the Livepeer Discord. We are happy to help you get started.
Contributing to Livepeer Docs
Welcome! Livepeer docs are open source and we value contributions from the community. This issue serves as a one-stop onboarding guide and a tracker for good first issues.
Quick start
Repo structure at a glance
v2/v1/snippets/components/snippets/data/snippets/assets/snippets/templates/operations/docs-guide/docs.json.mintignoreNavigation (docs.json)
Pages are organised as: Version > Language > Tab (dropdown) > Anchor (section) > Group > Pages
Current v2 tabs: Home, About, Developers, Gateways, Orchestrators, Delegators, Solutions, Resources.
To add a page to the nav, add its path to the appropriate group in
docs.json.Writing conventions
File format
.mdxextension, not.md)title,description,sidebarTitleat minimumLanguage and style
Mintlify constraints
import React from 'react'or React hooks in MDX pages/snippets/components/...)style.cssComponents
snippets/components/snippets/templates/for page patternslpd vscode:installfor autocompleteSubmitting a PR
Before you submit
lpd dev(no console errors)Commit message format
Use conventional prefixes:
docs:for content changesfix:for correctionsfeat:for new pages or featureschore:for tooling, config, non-contentBranch naming
Use
docs/prefix with kebab-case:docs/fix-gateway-install-stepsPR template
The repo has a PR template with a checklist. Fill it in. Reviewers use it to assess your change.
Review process
Good first issues
Looking to get started? Here are areas where contributions are especially welcome:
Content fixes
descriptionfrontmatter to pages that lack itTypos and grammar
Accessibility
alttext to imagesTranslation
operations/scripts/integrators/content/language-translation/for the i18n pipelineComponent examples
snippets/components/that lack themResources
Questions?
Drop a comment on this issue or ask in the Livepeer Discord. We are happy to help you get started.