Quarto book project support: chapters, parts, and appendices are mapped to llms.txt H2 groups automatically from book.chapters and book.appendices in _quarto.yml.
Companion generation from source: when Quarto does not produce .llms.md companions (e.g., book projects), build_llms_docs() generates them from source .qmd files using frontmatter and body content.
Improvements
quarto::quarto_inspect() is now the primary project resolution mechanism, replacing manual _quarto.yml parsing for input files and output directories.
Simplified detection cascade using rprojroot::find_root() directly; removed data.frame-based candidate sorting.
llms_document() inlines auto-configure and type dispatch; removed .auto_configure(), .llms_document_quarto(), .llms_document_rpkg() wrapper functions.
Adopted fs for all filesystem operations and stringr for all string operations throughout the package for cross-platform consistency.
pkgdown moved from Suggests to Imports.
Removed dead parameters: validate from .build_llms_docs(), out_path from .build_llms_txt(), content_dir/out_path from .build_llms_full_txt(), proj_root from config parsers.
Deleted legacy aliases detect_project() and use_llms_txt().
Internal
Test modernization: copy_fixture() uses fs::dir_copy() with per-test temp dirs; removed custom test helper functions; removed all rllmdoc::: calls from tests.
Reduced internal function count by ~10 through wrapper elimination.
skip_if_no_quarto() retained for tests requiring the Quarto CLI binary.
rllmdoc 0.1.0
Historical note
0.1.0 was the release where rllmdoc pivoted from the original _llms.yml-driven workflow into the current unified hybrid pipeline for Quarto and R package projects.
Removed _llms.yml support and llms-group/llms-order frontmatter fields. Grouping is now derived from existing project config (_quarto.yml navbar for Quarto, _pkgdown.yml reference sections for R packages).
Consolidated generation behind the final public build entrypoint build_llms_docs(). Mid-cycle names build_llms_txt() and build_llms_full_txt() were superseded before the final 0.1.0 surface.
New features
llms_document() is the main orchestration entrypoint: auto-detects project type, auto-configures Quarto llms-txt: true when needed, ensures native companion markdown exists, and generates spec-compliant llms.txt + llms-full.txt.
as_project() resolves project type, subtype, title, description, and llms readiness for Quarto and R package projects.
use_llm_docs() configures project readiness for documentation pipelines. For Quarto it enables llms-txt: true; for R packages no config mutation is currently required.
build_llms_docs() is the build entrypoint for already configured projects: it writes the final curated llms.txt and llms-full.txt, replaces native site llms.txt, and mirrors llms-only artifacts into root _llms/.
Architecture
rllmdoc uses native Quarto/pkgdown generation for supporting markdown (.llms.md and .md files), but does not treat native llms.txt output as canonical.
The final tracked llms.txt is generated by rllmdoc so it can enforce curated grouping, per-entry descriptions, and strict spec validation.
For both Quarto and R package sites, native llms.txt is treated as intermediate output and replaced with rllmdoc’s spec-valid version.
_llms/ is a first-class generated mirror that contains only llms-relevant artifacts for local-agent consumption.
Improvements
Strict validation: fails fast on missing title/description frontmatter, invalid project structure, or spec violations.
For R packages: auto-detects existing pkgdown site and only runs pkgdown::build_llm_docs() when site already exists.