Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
ee34b76
Integrating v2 docs
Dec 9, 2025
1dfc5b5
change default version to v2
Dec 9, 2025
67c5903
change default version to v2
Dec 9, 2025
9cdfbbd
Rearranged v2 layout for anchors style and moved v2 to top since defa…
Dec 9, 2025
112dba0
checking redirects on hosted server
Dec 9, 2025
b3297ca
fixed anchors
Dec 9, 2025
875744a
re-added and corrected v1 redirects
Dec 9, 2025
6216867
Moved snippets to root, moved v1 images to v1 & update
Dec 9, 2025
f00b14d
gateway update
Dec 9, 2025
69473e9
finalise all pages about
Dec 11, 2025
58774e1
finalising sidebar of all sections. added internal hub for stakeholde…
Dec 13, 2025
65bed6d
hide internal hub by default
Dec 13, 2025
c695396
update developers section. Add read in of github's for embedding
Dec 13, 2025
896f2fc
added orchestrators & delegators layout pages
Dec 13, 2025
4b22ca1
merge help and resources tabs
Dec 13, 2025
25a8d62
adding content from v1 docs to gateways. Added auto-diagram generato…
Dec 13, 2025
c486e77
Adding v1 steps to Gateways. Editing layouts & flows
Dec 13, 2025
0420ca9
Cleaning up Gateway Docs
Dec 14, 2025
a2ddf34
merging & editing gateway configuration items across pages
Dec 14, 2025
083f561
adding api references
Dec 14, 2025
71f7369
added ai api, added sections
Dec 15, 2025
fa5a1c2
added exchange and token utility page
Dec 15, 2025
2bfcc61
add custom 404
Dec 15, 2025
f70faae
add reasons for gateways
Dec 16, 2025
2e86395
orchestrators
Dec 17, 2025
0c63c1e
fix requirements, add reference docs
Dec 17, 2025
23cbf19
update Docker installation steps
Dec 18, 2025
e2962e8
feat: add reusable code block and release components + gateway docs u…
Dec 20, 2025
1057a90
commit globals file for aut-release update pipeline
Dec 22, 2025
1feae4d
update references & setup
Dec 22, 2025
b19938e
Thorough Install Review
Dec 22, 2025
c39b6eb
keystores
Dec 23, 2025
330fd7d
chore: update latest release to {{ $json.version }}
DeveloperAlly Dec 24, 2025
0711dc5
chore: update latest release to {{ $json.version }}
DeveloperAlly Dec 24, 2025
5beb307
chore: update latest release to {{ $json.version }}
DeveloperAlly Dec 24, 2025
5be1637
chore: update latest release to {{ $json.version }}
DeveloperAlly Dec 25, 2025
f3d2d8e
chore: update latest release to {{ $json.version }}
DeveloperAlly Dec 26, 2025
f0aca88
chore: update latest release to {{ $json.version }}
DeveloperAlly Dec 27, 2025
39de85e
chore: update latest release to {{ $json.version }}
DeveloperAlly Dec 28, 2025
bdd6bc2
chore: update latest release to {{ $json.version }}
DeveloperAlly Dec 29, 2025
7611dae
clean up Gateway Run
Dec 29, 2025
0bf1263
Merge branch 'docs-v2' of https://github.com/livepeer/docs into docs-v2
Dec 29, 2025
88a2c62
chore: update latest release to {{ $json.version }}
DeveloperAlly Dec 30, 2025
35cefac
chore: update latest release to {{ $json.version }}
DeveloperAlly Dec 31, 2025
7f58d1a
chore: update latest release to {{ $json.version }}
DeveloperAlly Jan 1, 2026
261145c
added custom components
Dec 29, 2025
b0a160e
add dynamic exchange fetch, fund wallet update
Jan 2, 2026
a6227ea
adding livepeer exchange list
Jan 2, 2026
34493d6
fund gateway ready for review
Jan 2, 2026
6d50636
chore: update latest release to {{ $json.version }}
DeveloperAlly Jan 2, 2026
1f1a178
config
Jan 2, 2026
cf26bbf
pricing
Jan 2, 2026
be4050c
chore: update latest release to {{ $json.version }}
DeveloperAlly Jan 3, 2026
2d293e2
Before fixing docker-compose.yml heredoc indentation
Jan 3, 2026
5f8c285
Fixed docker-compose.yml heredoc indentation
Jan 3, 2026
8cb41be
quickstart
Jan 3, 2026
f3a0c2a
Before checking gateways.jsx file
Jan 4, 2026
3265ef1
destructure quickstart views
Jan 4, 2026
dd3dfa3
chore: update latest release to {{ $json.version }}
DeveloperAlly Jan 4, 2026
a702b1b
confiming gateway minimal required flags and recommended settings
Jan 4, 2026
f5d9f01
quickstart
Jan 4, 2026
46e8196
chore: update latest release to {{ $json.version }}
DeveloperAlly Jan 6, 2026
20c2210
index on docs-v2: f5d9f01 quickstart
Jan 6, 2026
16f6ba0
On docs-v2: WIP: Stashing changes before pull
Jan 6, 2026
2200824
Merge branch 'docs-v2' of https://github.com/livepeer/docs into docs-v2
Jan 6, 2026
4f19bf1
Addding AI safeguards
Jan 6, 2026
7e6bea0
clean up
DeveloperAlly Jan 7, 2026
e8279cf
component wiki
DeveloperAlly Jan 7, 2026
4b328fd
chore: update latest release to {{ $json.version }}
DeveloperAlly Jan 7, 2026
cd1c3cf
theming, quickstart
DeveloperAlly Jan 7, 2026
3429784
Fix palm theme view dropdown styling bug
DeveloperAlly Jan 7, 2026
673467b
Docs v2 dev (#732)
DeveloperAlly Jan 7, 2026
5d0aebd
Added CLI Command Reference
DeveloperAlly Jan 7, 2026
4bad374
update layout
DeveloperAlly Jan 7, 2026
4ece7a7
finish docker gateway quickstart
DeveloperAlly Jan 7, 2026
e8cdcc3
Finished Docker Quickstart
DeveloperAlly Jan 7, 2026
a5d17c0
Merge remote docs-v2, keeping docs-v2-dev as source of truth
DeveloperAlly Jan 7, 2026
90bae2f
Restore clean quickstart file from docs-v2-dev
DeveloperAlly Jan 7, 2026
247ecbb
chore: update latest release to {{ $json.version }}
DeveloperAlly Jan 8, 2026
56c4bb3
Docs v2 dev (#734)
DeveloperAlly Jan 8, 2026
52a14ca
Docs v2 dev (#735)
DeveloperAlly Jan 9, 2026
4e589bc
chore: update latest release to {{ $json.version }}
DeveloperAlly Jan 9, 2026
4bc6fff
Docs v2 dev (#736)
DeveloperAlly Jan 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
56 changes: 56 additions & 0 deletions .AI-SAFEGUARDS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# AI Safeguards Configuration

## Protected Branches

These branches CANNOT be modified by AI:

- docs-v2 (source of truth)
- main

## Allowed Branches for AI

- docs-v2-dev (development branch for hourly commits)
- fix-\* (feature branches)
- safepoint/\* (checkpoint branches)

## Forbidden Commands for AI

❌ NEVER execute:

- git reset --hard
- git restore .
- git clean -fd
- git push --force
- git rebase -i (interactive rebase)
- git tag --force
- Any mass git operations without human approval

## Large Change Protocol (>10 files)

1. AI must show file list and get approval
2. Human creates .ai-commit-verified file
3. Only then can AI proceed with commit
4. File is deleted after commit

## Audit Trail

All AI git operations logged to: .ai-operations.log

## Emergency Rollback

If AI makes dangerous changes:

```bash
git reflog
git reset --hard <safe-commit>
```

## Human Commit Override

If AI blocks legitimate commits, use:

```bash
git commit --no-verify
```

Updated: 2026-01-06 after safeguard implementation
16 changes: 16 additions & 0 deletions .ai-audit.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash
# AI Operations Audit Log
# Logs every git operation attempted by the AI assistant

TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "unknown")
COMMAND="$*"
FILES_CHANGED=$(git status --porcelain 2>/dev/null | wc -l)

LOG_ENTRY="[$TIMESTAMP] BRANCH=$BRANCH | COMMAND=$COMMAND | FILES_STAGED=$FILES_CHANGED"

# Write to audit log
echo "$LOG_ENTRY" >> .ai-operations.log

# Also print for visibility
echo "$LOG_ENTRY"
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Default reviewers for the AI documentation.
ai/ @rickstaa
* @livepeer/studio-team
* @DeveloperAlly
91 changes: 91 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
docs. The docs are built and previewed using Mintlify CLI, and can be
containerized with Docker.

# Copilot Instructions for Livepeer Docs (2026)

## Big Picture & Architecture

- **Multi-version Docs:**
- `v1/` = legacy, `v2/` = current. Navigation in `docs.json`/`docs_v2.json`.
- **Component System:**
- Custom React/TSX/JSX components in `snippets/components/` (see
README-custom-view.md for advanced usage).
- Use `.tsx` for new components; `.jsx` is legacy but supported.
- **Automations & Scripts:**
- All dynamic, AI, and data-fetching logic in `automations/` and `ai-tools/`.
- Scripts for API doc generation and external data in `v2/scripts/` (see
generate-api-docs.sh, fetch-openapi-specs.sh).
- **API Reference:**
- OpenAPI spec in `openapi.yaml` (AI API: see ai/worker/api/openapi.yaml). Use
scripts to generate MDX/API docs.
- **Assets:**
- Images/logos in `images/`, `logo/`, and static assets in `assets/`.

## Developer Workflows

- **Preview Locally:**
1. Install Mintlify CLI: `npm i -g mintlify`
2. Run: `mint dev` (from repo root, where `mint.json` or `mint_v1.json`
exists)
- **Build/Deploy:**
- Docker:
`docker buildx build --platform linux/amd64 --load -t livepeer/docs .`
- Makefile: `make all`
- **API Docs Generation:**
- Use `v2/scripts/generate-api-docs.sh` to convert OpenAPI specs to MDX/API
docs and navigation JSON. Example:
```bash
./v2/scripts/generate-api-docs.sh ai/worker/api/openapi.yaml v2/pages/04_gateways/guides-references/api-reference/AI-API "AI API"
```
- Output: MDX files + navigation snippet for `docs.json`.
- **External Data Fetching:**
- Use `fetch-openapi-specs.sh` and `fetch-external-docs.sh` for syncing
specs/docs from other repos.
- **Component Usage:**
- Import with relative paths from `snippets/components/` in `.mdx` files.
- For custom dropdowns, see `CustomViewDropdown` in
`snippets/components/custom-view-dropdown.jsx` and its README.

## Project Conventions & Patterns

- **MDX-First:** All docs are `.mdx` (Markdown + JSX/TSX components).
- **Versioning:** New docs in `v2/`, legacy in `v1/` or
`deprecated-references/`.
- **AI/Dynamic Content:** All AI-generated or dynamic content in `automations/`
or `ai-tools/`.
- **SEO & Metadata:** Add SEO tags/metadata in page frontmatter (see
`README_V2.md`).
- **No Formal Test Suite:** Preview changes locally before merging.
- **Architecture:**
- Docs mirror protocol architecture: Gateway, Orchestrator, Transcoder, AI
Worker. See `README_V2.md` for detailed flows and node roles.
- Gateways do not process video; they route jobs to orchestrators. Node roles
are mutually exclusive (see `README_V2.md`).
- **Custom Views:**
- Use `CustomViewDropdown` for Mintlify-style view switching. See
`snippets/components/README-custom-view.md` for migration and usage.

## Integration Points

- **Mintlify:** All build/preview flows use Mintlify CLI and config files
(`mint.json`, `docs.json`).
- **OpenAPI:** API docs generated from `openapi.yaml` (see also
`ai/worker/api/openapi.yaml`).
- **Docker:** Containerized builds for CI/CD and local dev.
- **Automations:** Scripts in `v2/scripts/` automate API doc generation and
external data sync.

## Key Files & Directories

- `docs.json`, `docs_v2.json` — Navigation/config
- `snippets/components/` — Custom components (see README-custom-view.md)
- `automations/`, `ai-tools/` — Scripts, AI, dynamic content
- `openapi.yaml`, `ai/worker/api/openapi.yaml` — API reference
- `Dockerfile`, `Makefile` — Build/deploy
- `README.md`, `README_V2.md` — Developer notes, protocol/architecture
- `v2/scripts/` — Automation scripts (API docs, data fetching)

---

If any conventions or workflows are unclear, review the latest `README.md`,
`README_V2.md`, or automation READMEs, or ask for clarification.
4 changes: 2 additions & 2 deletions .github/workflows/broken-links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
node-version: "22"

- name: Install Mintlify globally
run: npm install -g mintlify

Expand Down
60 changes: 60 additions & 0 deletions .github/workflows/update-livepeer-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Update Livepeer Release Version

on:
schedule:
# Run every 30 minutes
- cron: "*/30 * * * *"
workflow_dispatch:

jobs:
check-and-update:
runs-on: ubuntu-latest

steps:
- name: Checkout docs repository
uses: actions/checkout@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}

- name: Get latest go-livepeer release
id: get_release
run: |
LATEST_RELEASE=$(curl -s https://api.github.com/repos/livepeer/go-livepeer/releases/latest | jq -r .tag_name)
echo "release=${LATEST_RELEASE}" >> $GITHUB_OUTPUT
echo "Latest release: ${LATEST_RELEASE}"

- name: Read current version from globals.mdx
id: current_version
run: |
CURRENT=$(grep -oP 'latestVersion\s*=\s*["'"'"']?\K[^"'"'"']+' snippets/automationData/globals/globals.mdx || echo "")
echo "current=${CURRENT}" >> $GITHUB_OUTPUT
echo "Current version: ${CURRENT}"

- name: Update globals.mdx if needed
if:
steps.get_release.outputs.release !=
steps.current_version.outputs.current
run: |
# Create backup
cp snippets/automationData/globals/globals.mdx snippets/automationData/globals/globals.mdx.bak

# Update the latestVersion value
sed -i "s/latestVersion[[:space:]]*=[[:space:]]*[\"'][^\"']*[\"']/latestVersion = \"${{ steps.get_release.outputs.release }}\"/" snippets/automationData/globals/globals.mdx

# Update the latestVersionUrl value
sed -i "s|latestVersionUrl[[:space:]]*=[[:space:]]*[\"'][^\"']*[\"']|latestVersionUrl = \"https://github.com/livepeer/go-livepeer/releases/download/${{ steps.get_release.outputs.release }}\"|" snippets/automationData/globals/globals.mdx

# Verify the changes
echo "Updated content:"
grep "latestVersion" snippets/automationData/globals/globals.mdx

- name: Commit and push if changed
if:
steps.get_release.outputs.release !=
steps.current_version.outputs.current
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add snippets/automationData/globals/globals.mdx
git commit -m "chore: update latest release to ${{ steps.get_release.outputs.release }}"
git push
64 changes: 64 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,67 @@ node_modules
# IDE
.vscode
*.code-workspace

# V2
# ------------------------------------
# Node
# ------------------------------------
# node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
package-lock.json
yarn.lock
pnpm-lock.yaml

# Optional: ignore local `.env` files
.env
.env.*local

# ------------------------------------
# Logs
# ------------------------------------
logs/
*.log
*.log.*
debug.log

# ------------------------------------
# OS / Editor files
# ------------------------------------
# .DS_Store
Thumbs.db
.idea/

# VSCode — allow settings.json, ignore rest
# .vscode/*
# !.vscode/settings.json
# !.vscode/extensions.json

# ------------------------------------
# Mintlify / Build Stuff
# ------------------------------------
.mintlify/
.mintlify-cache/
.out/
dist/
build/

# ------------------------------------
# Temporary files
# ------------------------------------
*.tmp
*.temp
*.swp
*.swo

# ------------------------------------
# TypeScript
# ------------------------------------
*.tsbuildinfo

# ------------------------------------
# External docs (fetched at build time)
# ------------------------------------
snippets/external/
42 changes: 21 additions & 21 deletions .speakeasy/workflow.yaml
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
workflowVersion: 1.0.0
speakeasyVersion: latest
sources:
livepeer-ai-api:
inputs:
- location: https://raw.githubusercontent.com/livepeer/ai-worker/main/runner/gateway.openapi.yaml
overlays:
- location: https://raw.githubusercontent.com/livepeer/livepeer-ai-js/main/codeSamples.yaml
- location: https://raw.githubusercontent.com/livepeer/livepeer-ai-go/main/codeSamples.yaml
- location: https://raw.githubusercontent.com/livepeer/livepeer-ai-python/main/codeSamples.yaml
output: ai/api-reference/gateway.openapi.yaml
registry:
location: registry.speakeasyapi.dev/livepeer/livepeer-ai/livepeer-ai-oas
livepeer-studio-api:
inputs:
- location: https://raw.githubusercontent.com/livepeer/studio/master/packages/api/src/schema/api-schema.yaml
- location: https://raw.githubusercontent.com/livepeer/studio/master/packages/api/src/schema/ai-api-schema.yaml
overlays:
- location: https://raw.githubusercontent.com/livepeer/livepeer-js/main/codeSamples.yaml
- location: https://raw.githubusercontent.com/livepeer/livepeer-go/main/codeSamples.yaml
- location: https://raw.githubusercontent.com/livepeer/livepeer-python/main/codeSamples.yaml
output: openapi.yaml
registry:
location: registry.speakeasyapi.dev/livepeer/livepeer-studio/livepeer-studio-api
livepeer-ai-api:
inputs:
- location: https://raw.githubusercontent.com/livepeer/ai-worker/main/runner/gateway.openapi.yaml
overlays:
- location: https://raw.githubusercontent.com/livepeer/livepeer-ai-js/main/codeSamples.yaml
- location: https://raw.githubusercontent.com/livepeer/livepeer-ai-go/main/codeSamples.yaml
- location: https://raw.githubusercontent.com/livepeer/livepeer-ai-python/main/codeSamples.yaml
output: ai/api-reference/gateway.openapi.yaml
registry:
location: registry.speakeasyapi.dev/livepeer/livepeer-ai/livepeer-ai-oas
livepeer-studio-api:
inputs:
- location: https://raw.githubusercontent.com/livepeer/studio/master/packages/api/src/schema/api-schema.yaml
- location: https://raw.githubusercontent.com/livepeer/studio/master/packages/api/src/schema/ai-api-schema.yaml
overlays:
- location: https://raw.githubusercontent.com/livepeer/livepeer-js/main/codeSamples.yaml
- location: https://raw.githubusercontent.com/livepeer/livepeer-go/main/codeSamples.yaml
- location: https://raw.githubusercontent.com/livepeer/livepeer-python/main/codeSamples.yaml
output: openapi.yaml
registry:
location: registry.speakeasyapi.dev/livepeer/livepeer-studio/livepeer-studio-api
targets: {}
31 changes: 31 additions & 0 deletions .verify-large-change.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#!/bin/bash
# AI Large Change Verification Script
# Used when AI needs to commit more than 10 files

BRANCH=$(git rev-parse --abbrev-ref HEAD)
FILES_COUNT=$(git diff --cached --name-only | wc -l)
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')

echo ""
echo "════════════════════════════════════════════════════════════"
echo "⚠️ LARGE CHANGE VERIFICATION REQUIRED"
echo "════════════════════════════════════════════════════════════"
echo ""
echo "Branch: $BRANCH"
echo "Files to be modified: $FILES_COUNT"
echo "Timestamp: $TIMESTAMP"
echo ""
echo "Files list:"
git diff --cached --name-only | sort
echo ""
echo "════════════════════════════════════════════════════════════"
echo ""
echo "HUMAN ACTION REQUIRED:"
echo ""
echo "1. Review the files above carefully"
echo "2. If safe, create verification file:"
echo " touch .ai-commit-verified"
echo "3. AI will then proceed with commit"
echo ""
echo "════════════════════════════════════════════════════════════"
echo ""
Loading