pve-docgen converts Proxmox VE's local/static apidoc.js schema into AI-friendly documentation files.
It is a documentation compiler, not an API client. It does not call, require, or modify a live Proxmox VE API.
bun installFrom a Proxmox VE node or installation, use the static API viewer asset:
curl -k -o apidoc.js https://YOUR-PVE-NODE:8006/pve-docs/api-viewer/apidoc.jsYou can also download it from the published docs site if you only need the public schema version:
curl -o apidoc.js https://pve.proxmox.com/pve-docs/api-viewer/apidoc.jsDevelopment mode with Bun:
bun run dev -- --input ./apidoc.js --out ./generated/pve-api-docs --clean --verboseBuild and run the compiled CLI:
bun run build
bun run start -- --input ./apidoc.js --out ./generated/pve-api-docs --cleanAfter installation as a package, the CLI command is:
pve-docgen --input ./apidoc.js --out ./generated/pve-api-docsgenerated/pve-api-docs/
endpoints.json
endpoints.ndjson
search-index.json
llms.txt
llms-full.txt
markdown/
index.md
access.md
cluster.md
nodes.md
storage.md
pools.md
version.md
endpoints/
GET_nodes.md
POST_nodes_node_qemu_vmid_clone.md
endpoints.json contains pretty-printed normalized endpoint records, including method, path, summary, parameters, returns, permissions, and raw schema.
endpoints.ndjson contains one endpoint JSON object per line for ingestion and search tooling.
search-index.json contains compact search records with semantic aliases such as VM, container, guest ID, clone, start, stop, snapshot, and storage terms.
llms.txt is a concise AI-readable overview of the API sections and common endpoints.
llms-full.txt concatenates generated Markdown into one large AI-ingestable file.
markdown/ contains an index, section pages, and one Markdown file per endpoint.
pve-docgen only reads a local apidoc.js file and writes local documentation output. It performs no network requests and never calls or changes a Proxmox VE server.