What does it look like to version, publish, and distribute software on AT Protocol? release.software aims to answer that question with a set of lexicons, guidelines, and recommendations for distributing software of any kind via the open social web.
Mechanical overview
Create a
software.release.project(e.g. myproject) that describes the overarching project. This only needs to be done for the first release.Create a
software.release.manifestcontaining a list of artifacts that you are publishing.Create a version
software.release.version(e.g. myproject:v1.0.0) to label the newly-created manifest.Update any relevant channels
software.release.channel(e.g. myproject:latest) to point at the newly-published version.Later... Create
software.release.statusrecords to discourage using old versions or to retire the project.
Two crucial elements are purposefully not prescribed by the workflow: Artifact storage and version enforcement. Neither of those are goals of release.software, but we still provide recommendations later in the docs.