docs.json navigation. The changelog field is the full URL of the repository:1234567891011121314{ "navigation": { "tabs": [ { "tab": "Documentation", "groups": [{ "group": "Getting Started", "pages": ["index"] }] }, { "tab": "Changelog", "changelog": "https://github.com/owner/repo" } ] } }
/changelog. Each release becomes an entry showing its tag, publish date, and release notes (rendered as Markdown). Prereleases are included; draft releases are skipped./changelog. Change it with base:12345{ "tab": "Releases", "changelog": "https://github.com/owner/repo", "base": "/releases" }
/releases. A leading slash is optional: "/releases" and "releases" behave the same.initialContent to prepend custom MDX content above the release entries. Point it at an MDX file (resolved from your pages directory):12345{ "tab": "Changelog", "changelog": "https://github.com/owner/repo", "initialContent": "changelog/intro" }
<Above> hero section, an introduction paragraph, or any custom component before the release entries start.gh) first, then falls back to a direct HTTP request.gh CLI (recommended)gh CLI is installed and you've run gh auth login, Holocron calls gh api under the hood. This picks up your stored credentials automatically, so private repos just work with no extra configuration.12# One-time setup gh auth login
gh is not available (Docker builds, minimal CI images), set a GITHUB_TOKEN or GH_TOKEN environment variable with read access to the repository. Holocron sends it as a bearer token.1GITHUB_TOKEN=ghp_xxxx npx vite build
gh pre-installed and a default GITHUB_TOKEN. To make it available during the build, pass it as an environment variable in your deploy step:12345- name: Deploy run: bunx holocron deploy env: HOLOCRON_KEY: ${{ secrets.HOLOCRON_KEY }} GITHUB_TOKEN: ${{ github.token }}
contents: read scope on the target repo, stored as a repository secret.gh or a token raises this to 5,000 per hour. If you see a "Could not load releases" warning during builds, rate limiting is the most likely cause.