@@ -4,16 +4,52 @@ SPDX-FileCopyrightText: Amolith <amolith@secluded.site>
SPDX-License-Identifier: CC0-1.0
-->
-# PROJECT_NAME
+# Willow
[![Go report card status][goreportcard-badge]][goreportcard]
[![REUSE status][reuse-shield]][reuse]
[![Donate with fosspay][fosspay-shield]][fosspay]
-[![scratchanitch.dev badge][scratchanitch-badge]][scratchanitch]-## Installation
+_Software release tracker supporting arbitrary forges_
-## Usage
+## What is it?
+
+Willow tracks software releases across arbitrary forge platforms by trying to
+support one of the very few things they all have in common: the VCS. At the
+moment, git is the _only_ supported VCS, but I would be interested in adding
+Pijul, Fossil, Mercurial, etc. You can also track releases using RSS feeds.
+
+Willow exists because decentralisation can be annoying. One piece of software
+can be found on GitHub, another piece on GitLab, one on Bitbucket, a fourth on
+SourceHut, and a fifth on the developer's self-hosted Forgejo instance. Forgejo
+and GitHub have RSS feeds that only notify you of releases. GitLab doesn't
+support RSS feeds for anything, just an API you can poke. Some software updates
+might be on the developers' personal blog. Sometimes there are CVEs for specific
+software and they get published somewhere completely different before they're
+fixed in a release.
+
+I want to bring all that scattered information under one roof so a developer or
+sysadmin can pop open willow's web UI and immediately see what needs updating
+where. I've recorded some of my other ideas and plans in [my wiki].
+
+[my wiki]: https://wiki.secluded.site/hypha/willow
+
+## Installation and use
+
+* Clone the repo
+* Build the binary with `CGO_ENABLED=0 go build .`
+* Upload it to a remote server
+* Execute the binary
+* Reverse proxy `localhost:1337`
+* Open the web UI
+* Click `Track new project`
+* Fill out the form
+* Indicate which version you're currently on
+* That's it!
+
+Note that there's currently no authentication, so consider putting your instance
+behind HTTP Basic Auth, keeping it private, or helping me implement
+authentication.
## Questions & Contributions
@@ -38,11 +74,9 @@ section._
[irc]: irc://irc.nixnet.services/#secluded
[xmpp]: xmpp:secluded@muc.secluded.site?join
-[goreportcard-badge]: https://goreportcard.com/badge/git.sr.ht/~amolith/p2c-[goreportcard]: https://goreportcard.com/report/git.sr.ht/~amolith/p2c-[reuse]: https://api.reuse.software/info/git.sr.ht/~amolith/p2c-[reuse-shield]: https://shields.io/reuse/compliance/git.sr.ht/~amolith/p2c
+[goreportcard-badge]: https://goreportcard.com/badge/git.sr.ht/~amolith/willow
+[goreportcard]: https://goreportcard.com/report/git.sr.ht/~amolith/willow
+[reuse]: https://api.reuse.software/info/git.sr.ht/~amolith/willow
+[reuse-shield]: https://shields.io/reuse/compliance/git.sr.ht/~amolith/willow
[fosspay]: https://secluded.site/donate/
[fosspay-shield]: https://shields.io/badge/donate-fosspay-yellow
-[scratchanitch-badge]: https://img.shields.io/badge/scratchanitch-dev-FFC4B5-[scratchanitch]: https://scratchanitch.dev