This document provides guidance for AI agents (like GitHub Copilot) working on the Jaeger documentation repository.
This repository contains the Jaeger documentation website, https://jaegertracing.io, built with Hugo and hosted on Netlify. For general information about the repository, see README.md.
All commits must include a sign-off (git commit -s).
Before making changes, familiarize yourself with:
- General Jaeger contributing guidelines: Contributing Guidelines
- Documentation-specific guidelines: CONTRIBUTING.md
The CONTRIBUTING.md file contains all necessary information for setting up, building, linting, and making changes to the documentation.
Understanding the repository structure will help you navigate and make changes efficiently:
content/- Documentation content in Markdownthemes/jaeger-docs/- Hugo theme customizationsstatic/- Static assets (images, etc.)assets/- Assets processed by Hugolayouts/- Custom Hugo layoutsdata/- Data files used by Hugo (includingrefcache.jsonfor link checking)scripts/- Utility scripts
- CI/CD: GitHub Actions runs tests on PRs
- Deployment: Netlify automatically deploys from the
mainbranch - Preview: Netlify creates preview deployments for PRs
See CONTRIBUTING.md for full setup, build, and check commands. Before submitting a PR, at minimum run:
npm run build # Ensure the site builds
npm run check:spelling # Run spellcheck
npm run check:links:internal # Check internal links
npm run check:format # Check code formattingUse npm run fix:format and npm run fix:filenames to auto-fix common issues.
The repository uses cspell for spellchecking, configured
in .cspell.yml with custom dictionaries in .cspell/.
If the spellchecker flags a legitimate word:
- General technical terms: add to
.cspell/project-words.txt - People's names: add to
.cspell/project-names-src.txt
Rules for .cspell/project-words.txt:
- One word per line, sorted alphabetically (case-insensitive)
- Verify sorting:
sort -c --ignore-case .cspell/project-words.txt
If link checking fails:
- Check if the links are correct in your content
- For external links, verify they're accessible
- Review the refcache in
data/refcache.json
Common issues:
- Missing Node.js dependencies: run
npm install - Hugo version mismatch: check
package.jsonfor required version - Syntax errors in Markdown or Hugo templates
Run npm run fix:filenames to auto-fix.