hooks.txt contains all MediaWiki core hooks in an almost-but-not-quite machine-readable format. Commits that change a hook but don't update hooks.txt are flagged in code review so this file tends to be up to date but not very user-friendly.
Manual:Hooks is a human-readable directory of hooks. It has some navigation aids, translations and significantly more information than hooks.txt but is often outdated and some hooks are outright missing.
The best of both worlds would be to make hooks.txt properly machine-readable, and the data in it available to wiki templates so that they can automatically pull details and stay up-to-date, and a bot can create missing hook pages. YAML is a nice language for that as it is both machine- and human-readable (especially if we avoid its more complex features).
Write and publish a script to convert hooks.txt to hooks.yaml (language is up to you), then submit a patch to MediaWiki core that replaces the file.
The details are up to you but you could e.g. transform this:
'EditPageGetDiffText': DEPRECATED! Use EditPageGetDiffContent instead. Allow modifying the wikitext that will be used in "Show changes". Note that it is preferable to implement diff handling for different data types using the ContentHandler facility. $editPage: EditPage object &$newtext: wikitext that will be used as "your version"
EditPageGetDiffText: DEPRECATED: Use EditPageGetDiffContent instead. description: Allow modifying the wikitext that will be used in "Show changes". Note that it is preferable to implement diff handling for different data types using the ContentHandler facility. arguments: - "$editPage": EditPage object - "&$newtext": wikitext that will be used as "your version"
(Before merging we'll have to update maintenance/findHooks.php but that's not part of this task.)
The main task of the Outreachy project is T91626: Technology to transclude git content into wiki pages.