Extending Releases tab (how does it work?)

I am trying to build an alternate mechanism for Releases based on a git repository, possibly to submit to gitea as a pull request if/when it’s done. I’ve already made bash scripts that can generate the repository format I want to use, but I only just started looking at the code for gitea’s releases section and I am very confused on how many pieces it’s actually split into.

Could somebody give me / point me to an overview of all the pieces gitea uses to read the Releases data at /user/repo/releases, as well as generally what all the different “pieces” of a gitea feature are? (example: I searched what a “router” is, found the docs and looked at them, and still have no idea)

(My immediate goal right now is just to get gitea to look inside a repo.releases folder and read commits from it to display the Releases page, though after that I might look at downloading individual files and/or creating new releases by git push or via the web interface.)

If there’s any obvious way I should organise my code (like in a “module”?) that would also be good to know, though I’d guess hashing out with the main devs how this should interact with the main releases mechanism is the kind of thing that should happen in an issue thread.

if it’s any use to you the test repository can be browsed here: