# wp-updates Shared, self-hosted **update channel** for the `wordpress` org's WordPress projects. It is the counterpart to `ee-extensions/foh-updates`: a plain, public repo that hosts the update **manifests** and release payloads that WordPress installs pull from. ## What lives here Each managed project gets: - `{slug}.json` — the PUC-compatible JSON manifest (at minimum `version` and `download_url`; every other PUC field is optional and enriches the Updates screen / "View details" modal). - `{slug}/` — a directory for that project's release assets (zips, icons, banners, screenshots) referenced by its manifest. These files are not hand-edited: each project's release CI publishes its manifest and zip here on release. `manifest-updater` is the first resident (`manifest-updater.json` + `manifest-updater/`). The channel can host many projects side by side, exactly like `ee-extensions/foh-updates` does. ## How it's consumed Projects opt in through their WordPress **`Update URI:`** header, pointing at this repo's raw manifest URL with a `#manifest-updater.json` fragment, e.g.: ``` Update URI: https://gitea.mulligan.casa/wordpress/wp-updates/raw/branch/main/manifest-updater.json#manifest-updater.json ``` The network-activated **manifest-updater** plugin reads that header, fetches the manifest from here, and surfaces the update through WordPress's native Plugins / Updates screens. ## Must remain public Installed sites fetch manifests and release payloads over unauthenticated `raw/branch/main/...` URLs. **This repository must stay public** — making it private breaks self-updates for every project that points its `Update URI:` here.