Skip to content

Commit 85cfb5b

Browse files
dhellmannclaude
andcommitted
docs: create reference section and reorganize main index (Phase 1)
Create dedicated reference documentation section to improve discoverability of CLI, configuration, and file format documentation. Changes: - Create docs/reference/ directory with landing page - Move reference files: cli.rst, config-reference.rst, hooks.rst, files.md, glossary.rst to reference/ - Reorganize main index with clear Diátaxis framework sections: * Getting Started (quickstart, getting-started) * Guides (how-tos, customization, using) * Concepts & Explanation (concepts, http-retry) * Reference (new reference section) * Development (develop) - Update all cross-references to moved files - Add Quick Reference section to reference/index.rst for common lookups Impact: Reference material now discoverable in ≤2 clicks from main index Related: #969 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 5d8d986 commit 85cfb5b

10 files changed

Lines changed: 102 additions & 18 deletions

File tree

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
# sphinxcontrib.spelling settings
5959
# File references a function object. Spell checker complaints about typo in
6060
# random object id.
61-
spelling_exclude_patterns = ["config-reference.rst"]
61+
spelling_exclude_patterns = ["reference/config-reference.rst"]
6262

6363
# -- Options for HTML output -------------------------------------------------
6464
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output

docs/customization.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ requires = ["setuptools>=68.0.0", "torch", "triton"]
323323

324324
## Override plugins
325325

326-
Override plugins are documented in [the reference guide](hooks.rst).
326+
Override plugins are documented in [the reference guide](reference/hooks.rst).
327327

328328
## Canonical distribution names
329329

docs/index.rst

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,58 @@ behavior that works for most PEP-517 compatible packages, but support
2323
overriding all of the actions for special cases, without encoding
2424
those special cases directly into fromager.
2525

26+
Getting Started
27+
---------------
28+
29+
Quick introduction and detailed walkthrough for new users.
30+
2631
.. toctree::
2732
:maxdepth: 2
2833

2934
quickstart.rst
30-
using.md
3135
getting-started.rst
36+
37+
Guides
38+
------
39+
40+
Task-oriented guides for common workflows and customization.
41+
42+
.. toctree::
43+
:maxdepth: 2
44+
45+
how-tos/index.rst
3246
customization.md
47+
using.md
48+
49+
Concepts & Explanation
50+
----------------------
51+
52+
Understanding how fromager works and technical deep-dives.
53+
54+
.. toctree::
55+
:maxdepth: 2
56+
3357
concepts/index.rst
34-
how-tos/index.rst
35-
hooks.rst
36-
files.md
3758
http-retry.md
38-
config-reference.rst
39-
cli.rst
40-
glossary.rst
59+
60+
Reference
61+
---------
62+
63+
Technical reference for CLI, configuration, files, and terminology.
64+
65+
.. toctree::
66+
:maxdepth: 2
67+
68+
reference/index.rst
69+
70+
Development
71+
-----------
72+
73+
Contributing to fromager.
74+
75+
.. toctree::
76+
:maxdepth: 2
77+
4178
develop.md
4279

4380
What's with the name?

docs/quickstart.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ figured out the build and runtime dependencies, built each package in the
5959
correct order, and created wheels in ``wheels-repo/downloads/``.
6060

6161
For a detailed explanation of the output files and directories, see
62-
:doc:`files`.
62+
:doc:`reference/files`.
6363

6464
Pinning Versions with Constraints
6565
---------------------------------
File renamed without changes.
File renamed without changes.
File renamed without changes.
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ This glossary defines key terms used throughout Fromager's documentation and cod
4040
The sequence in which packages must be built, determined by analyzing the
4141
:term:`dependency graph`. Packages are ordered bottom-up (topological sort)
4242
so that each package's dependencies are built before the package itself.
43-
Stored in ``build-order.json``. See :doc:`/files` for the file format.
43+
Stored in ``build-order.json``. See :doc:`/reference/files` for the file format.
4444

4545
build sequence
4646
A command (``build-sequence``) that processes a pre-determined :term:`build order`
@@ -94,7 +94,7 @@ This glossary defines key terms used throughout Fromager's documentation and cod
9494
Version specifications that control package :term:`resolution`. Provided via a
9595
``constraints.txt`` file, they ensure specific versions are used or avoided
9696
during builds. Unlike :term:`requirements <requirement>`, constraints only
97-
apply when a package is already needed. See :doc:`/files` for format details.
97+
apply when a package is already needed. See :doc:`/reference/files` for format details.
9898

9999
cyclic dependency
100100
A circular dependency where packages depend on each other, forming a loop
@@ -112,7 +112,7 @@ This glossary defines key terms used throughout Fromager's documentation and cod
112112
A directed graph representing all packages and their relationships discovered
113113
during :term:`bootstrap`. Nodes represent resolved package versions, and edges
114114
capture the :term:`requirement` specifications and dependency types (toplevel,
115-
install, build-system, etc.). Stored in ``graph.json``. See :doc:`/files` and
115+
install, build-system, etc.). Stored in ``graph.json``. See :doc:`/reference/files` and
116116
:doc:`/how-tos/graph-commands/index`.
117117

118118
distribution name
@@ -124,7 +124,7 @@ This glossary defines key terms used throughout Fromager's documentation and cod
124124
An extension point in fromager that allows customization of specific
125125
operations. Hooks include ``post_build``, ``prebuilt_wheel``, and
126126
``post_bootstrap``. Multiple plugins can register for the same hook.
127-
See :doc:`/hooks` and :doc:`/customization`.
127+
See :doc:`/reference/hooks` and :doc:`/customization`.
128128

129129
install dependency
130130
A runtime dependency of a package, extracted from the built :term:`wheel`'s
@@ -153,7 +153,7 @@ This glossary defines key terms used throughout Fromager's documentation and cod
153153
A Python module registered as an entry point that provides custom implementations
154154
of fromager operations for specific packages. Unlike :term:`hooks <hook>`, overrides
155155
replace the default behavior entirely. Plugins can customize source acquisition,
156-
dependency resolution, building, and more. See :doc:`/hooks`.
156+
dependency resolution, building, and more. See :doc:`/reference/hooks`.
157157

158158
package index
159159
A server providing package metadata and downloads, following the
@@ -234,7 +234,7 @@ This glossary defines key terms used throughout Fromager's documentation and cod
234234
A strategy class that supplies version :term:`candidates <candidate>` during
235235
:term:`resolution`. The default provider queries :term:`PyPI`, but custom
236236
providers can resolve versions from GitHub tags, GitLab tags, or other sources.
237-
See :doc:`/hooks`.
237+
See :doc:`/reference/hooks`.
238238

239239
sdist-only mode
240240
A :term:`bootstrap` mode (``--sdist-only``) that builds :term:`source
@@ -246,7 +246,7 @@ This glossary defines key terms used throughout Fromager's documentation and cod
246246
Configuration options that customize package building. Can be global (in
247247
``overrides/settings.yaml``) or per-package (in ``overrides/settings/<name>.yaml``).
248248
Settings control environment variables, source URLs, :term:`variants <variant>`,
249-
and more. See :doc:`/customization` and :doc:`/config-reference`.
249+
and more. See :doc:`/customization` and :doc:`/reference/config-reference`.
250250

251251
Simple API
252252
The :pep:`503` specification for :term:`package index` directory layout.
@@ -299,4 +299,4 @@ This glossary defines key terms used throughout Fromager's documentation and cod
299299
work directory
300300
The directory (default: ``work-dir/``) where fromager stores working files
301301
during builds. Contains :term:`build order`, :term:`dependency graph`,
302-
constraints, logs, and per-package build artifacts. See :doc:`/files`.
302+
constraints, logs, and per-package build artifacts. See :doc:`/reference/files`.
File renamed without changes.

docs/reference/index.rst

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
Reference
2+
=========
3+
4+
This section contains detailed technical reference documentation for Fromager.
5+
6+
Command Line Interface
7+
----------------------
8+
9+
Complete documentation of all fromager CLI commands and options.
10+
11+
.. toctree::
12+
:maxdepth: 2
13+
14+
cli.rst
15+
16+
Configuration
17+
-------------
18+
19+
Comprehensive configuration reference for customizing package builds.
20+
21+
.. toctree::
22+
:maxdepth: 2
23+
24+
config-reference.rst
25+
hooks.rst
26+
27+
Files and Formats
28+
-----------------
29+
30+
Documentation of input/output files and data formats used by fromager.
31+
32+
.. toctree::
33+
:maxdepth: 2
34+
35+
files.md
36+
glossary.rst
37+
38+
Quick Reference
39+
---------------
40+
41+
Looking for something specific?
42+
43+
* **CLI Commands**: See :doc:`cli` for the complete command reference
44+
* **Package Settings**: See :doc:`config-reference` for per-package and global settings
45+
* **Override Plugins**: See :doc:`hooks` for customization hooks and extension points
46+
* **File Formats**: See :doc:`files` for details on ``build-order.json``, ``graph.json``, and output directories
47+
* **Terminology**: See :doc:`glossary` for definitions of key terms

0 commit comments

Comments
 (0)