.git
or .atom
, treat as that extension./
, check against known hostnames first.
If any match, skip the rest and treat as that forge. If no match,
fetch the page's metadata and detect the likely-self-hosted forge
based on known self-hostable forge characteristics.
<link>
s to the .atom
and .rss
feeds ,though
they're for all repo activity.Prefer RSS sources if the detected forge has any. Git should be the fallback, unless the user indicates they'd prefer git in that project's settings.
Detect and store as many sources as possible so the user can swap between those sources using radio selectors from the project's settings page.
Allow a project to remain unconfigured, in case we can't detect anything and need the user to provide everything.
Allow the user to override the detected forge type and queue a re-fetch.
I was pondering the usability of the current forge selection form, particularly concerning Codeberg, where a user has to know that Codeberg is built on Forgejo to make the right choice. Auto-selection of forge based on URL would address that nicely.