Repository Layout¶
ThornForge is designed to build other repositories without requiring a ThornForge-specific configuration file. Discovery is based on conventional file locations and project metadata.
Documentation source discovery¶
The builder searches for a Sphinx conf.py in this order:
docs/docs/source/doc/doc/source/documentation/documentation/source/
If none of those paths contains conf.py, ThornForge recursively searches for
the shallowest remaining conf.py while skipping transient directories such as
.git, virtual environments, build outputs, and caches.
Project name discovery¶
The display name comes from the first available source:
[project].nameinpyproject.toml[tool.poetry].nameinpyproject.tomlnameinpackage.jsonThe repository directory name
Version discovery¶
Git repositories are built from tags matching v* when such tags exist. Tags
are sorted using PEP 440 version parsing after the leading v is removed.
Repositories without matching tags get one build using a fallback label:
[project].versioninpyproject.tomlgit describe --tags --alwayscurrent
Project pages¶
Known top-level metadata files are rendered as root-level pages in the generated
site. Supported candidates include README.rst, README.txt,
README.html, CHANGELOG.rst, HISTORY.rst, and RELEASES.rst.