The Home page's file tree used to show a one-line summary for functions/ and completions/ instead of their contents.
Both directories now list every file inline, generated live from the actual directory contents during --site generation — no manual upkeep needed when a function or completion is added/removed.
This only affects the Starlight site build; the plain-text manual/man page (--concat) still renders the compact one-line summary, since it never runs through the <FileTree> conversion.
Changes
docs/build-manual.py: added a COMPLETIONS constant and an EXPANDABLE_TREE_DIRS mapping; _as_file_tree() now lists real files (sorted, no per-file description) under any branch matching functions/ or completions/.
docs/verify-manual.py: added tests covering the expansion (using a temp directory, not the real 179-file directory) and confirming unrelated tree branches are left alone.
Test plan
python3 docs/verify-manual.py — 57/57 passed
python3 docs/build-manual.py --site — regenerated index.mdx and confirmed it lists every real file under functions/ and completions/
npx astro build in docs/site — 154 pages built, all internal links valid
python3 docs/build-manual.py --concat — confirmed the plain-text output still shows the one-line summary, unaffected
## Summary
- The Home page's file tree used to show a one-line summary for `functions/` and `completions/` instead of their contents.
- Both directories now list every file inline, generated live from the actual directory contents during `--site` generation — no manual upkeep needed when a function or completion is added/removed.
- This only affects the Starlight site build; the plain-text manual/man page (`--concat`) still renders the compact one-line summary, since it never runs through the `<FileTree>` conversion.
## Changes
- `docs/build-manual.py`: added a `COMPLETIONS` constant and an `EXPANDABLE_TREE_DIRS` mapping; `_as_file_tree()` now lists real files (sorted, no per-file description) under any branch matching `functions/` or `completions/`.
- `docs/verify-manual.py`: added tests covering the expansion (using a temp directory, not the real 179-file directory) and confirming unrelated tree branches are left alone.
## Test plan
- [x] `python3 docs/verify-manual.py` — 57/57 passed
- [x] `python3 docs/build-manual.py --site` — regenerated `index.mdx` and confirmed it lists every real file under `functions/` and `completions/`
- [x] `npx astro build` in `docs/site` — 154 pages built, all internal links valid
- [x] `python3 docs/build-manual.py --concat` — confirmed the plain-text output still shows the one-line summary, unaffected
List every file in functions/ and completions/ inline under the home
page's file tree instead of a one-line summary. The listing is read
live off disk during --site generation, so it never needs manual
upkeep, and only affects the Starlight build — the plain-text
manual/man page (--concat) still renders the compact summary.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
functions/andcompletions/instead of their contents.--sitegeneration — no manual upkeep needed when a function or completion is added/removed.--concat) still renders the compact one-line summary, since it never runs through the<FileTree>conversion.Changes
docs/build-manual.py: added aCOMPLETIONSconstant and anEXPANDABLE_TREE_DIRSmapping;_as_file_tree()now lists real files (sorted, no per-file description) under any branch matchingfunctions/orcompletions/.docs/verify-manual.py: added tests covering the expansion (using a temp directory, not the real 179-file directory) and confirming unrelated tree branches are left alone.Test plan
python3 docs/verify-manual.py— 57/57 passedpython3 docs/build-manual.py --site— regeneratedindex.mdxand confirmed it lists every real file underfunctions/andcompletions/npx astro buildindocs/site— 154 pages built, all internal links validpython3 docs/build-manual.py --concat— confirmed the plain-text output still shows the one-line summary, unaffected