Reads a project's Hex dependencies from its lock file and turns each one's
fetched hexdocs into an llms.txt file.
This is the data layer behind the mix docs.llms task: it locates the
packages, resolves the local hexdocs cache, writes one llms.txt per package
and prunes documentation that no longer matches a current dependency.
Summary
Functions
Converts the fetched docs for a single package into a llms.txt file.
Returns the base directory of the local hexdocs cache.
Returns the {app, version} tuples for every Hex dependency in the lock file.
Removes documentation that no longer matches a current dependency.
Functions
Converts the fetched docs for a single package into a llms.txt file.
Returns {:ok, path} with the written file or {:error, :docs_not_found}
when no docs were fetched for the given package and version.
Returns the base directory of the local hexdocs cache.
Returns the {app, version} tuples for every Hex dependency in the lock file.
Git and path dependencies are skipped because they have no Hex version and no documentation on HexDocs.
Removes documentation that no longer matches a current dependency.
Keeps only the <package>/<version> directory for each package in
packages, deleting outdated version directories and packages that are no
longer dependencies.