User:Nmariusp/Appstream
See https://community.kde.org/Guidelines_and_HOWTOs/AppStream , https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
Metadata about a KDE app, library etc. Is used in the appstream file, F-Droid app store, Android Google Play app store, Windows (Metro) app store, flathub, snap store, apps.kde.org, flatpak manifest file. Is used in app store apps: KDE Discover app store, GNOME Software app store etc. Additionally, there are: app icon, app screenshots, changelog inside appstream file, debian changelog, license information, debian/rpm license information. The license information is often wrong, e.g. how can the binary package of a KDE GUI app be GPLv2 only when some Qt framework modules are GPLv3 only, other modules are LGPLv3 only.
- Rename files named like org.kde.haruna.appdata.xml to org.kde.haruna.metainfo.xml. See https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#spec-component-location
- All KDE git repositories for GUI apps should contain at least one appstream org.kde.<appname>.metainfo.xml file.
- Make sure the home page of the KDE app https://apps.kde.org/<appname> is up to date. E.g. should contain a screenshot of the app, not a screenshot of the manual, should not contain a link to https://userbase.kde.org, should contain a link to the app's Handbook. Make sure that the appstream "Install on Linux" URL (e.g. "appstream://org.kde.kmag.desktop") works correctly.
- In an automated fashion, make sure that all of the appdata files have valid and recent "Releases" information.
- Do not use URLs that do not work.
- Do not use URLs that redirect to a better URL. Use the better URL instead. E.g. https://apps.kde.org/<appname> not one of the URLs that redirect to https://apps.kde.org/<appname>.
- Validate all appstream files using a command line like "appstreamcli validate org.kde.kmag.appdata.xml".
cd ~/kde/src for i in `find . -type f -name "*.appdata.xml"`; do echo "$i" ; appstreamcli validate --pedantic --explain "$i"; done |& tee ~/a.txt for i in `find . -type f -name "*.metainfo.xml"`; do echo "$i" ; appstreamcli validate --pedantic --explain "$i"; done |& tee -a ~/a.txt kate ~/a.txt &
This is the list of appstream issues as of 2025.07.20 https://drive.google.com/file/d/15VgwRjUEjGbaoZjDdyQIxBCKLTnMS_zA .
Note: do not look at the translated strings. If you want to improve the translated strings, please ask for help from the KDE translators team.
- Synchronize appdata.xml summary towards KDE Craft self.description .
- Improve the app screenshots. https://userbase.kde.org/Taking_Screenshots https://docs.flathub.org/docs/for-app-authors/metainfo-guidelines/quality-guidelines#screenshots
https://invent.kde.org/websites/product-screenshots has guidelines, and you need to make an MR there to submit them so they show up on the CDN