About

What the catalog says, and how it knows.

153 developer tools, each listed with what it replaces. The rest of what you see on a tool comes from GitHub, not from whoever added it.

What an entry states

Every tool is a small YAML file under data/tools/. It names the tool, its GitHub repository, its category, the tools it replaces with a fit level for each, and an affiliation when there is one. That is all a contributor can write.

An entry never states stars, a licence, a version or a description. The schema rejects them, so a pull request cannot inflate a star count or claim a release that does not exist.

The nightly refresh

Every day at 03:17 UTC, and whenever the catalog data changes on the main branch, aGitHub Actions workflow reads every listed repository from the GitHub API:

When anything changed, the workflow commits the new catalog and a new build of this site goes out. A tool whose repository GitHub no longer returns, because it was deleted or made private, is left out of the catalog.

Marks

✓ signed
Next to the latest version. The tag carries a signature GitHub verified, or, for a lightweight tag, the commit it points at does. Only the latest release is checked.
Verified by its maintainers
The tool's own repository has an .awesome-alternatives file at the root of its default branch, with slug: set to this entry. Only someone with write access to the repository can add it, so the mark says its maintainers stand behind the entry. The refresh reads the file every night.
archived
The repository is archived and gets no more changes. An archived tool is exactly what people look to move off, so it is accepted only as something other entries replace, never as an alternative, and it does not get theno push warning.
Other
Shown as the licence when GitHub detects one but cannot map it to an SPDX identifier. When GitHub detects none, the tool reads None detected and gets the no licence warning.

Fit levels

Each replacement carries one, set by whoever adds the entry.

Drop-in
Accepts the original's configuration or interface unchanged: you swap it in without touching your setup. Asking for a drop-in in the search keeps only these.
Full replacement
Covers the same job, in its own way. Expect to migrate your configuration.
Partial
Covers part of the job. The note under the tool says which part.

Warnings

A warning never removes a tool. It is something a maintainer looks at before merging a pull request, and something you may want to know before you depend on the tool.

Repository moved
The repository now lives under another name or owner. GitHub redirects the old address, but the entry should be updated.
No licence detected
GitHub detects no licence, so the terms under which you can use the code are unclear.
No release or tag
The repository has neither a release nor a tag, so there is no version to pin.
No push in a year
Nothing was pushed for more than 365 days. Archived repositories are left out of this one.
Unusual star burst
50 or more of the most recent stars arrived within 24 hours. Bought stars arrive in bursts, and so does a launch on Hacker News, which is why a person decides. This check runs when a pull request adds or edits the entry, not during the nightly refresh. GitHub refuses to page deep into the stargazers of the largest repositories, and for those the check is skipped rather than guessed.

Some problems block a pull request instead: a repository that is private, a fork, archived but offered as an alternative, younger than 30 days, or already listed under another slug. The contributor guide lists every check.

Affiliation

Whoever maintains, works on or is paid by a tool has to say so in its entry. Listing your own project is welcome, not saying so is grounds for removal. When an entry has an affiliation, the tool page shows it as written.

Licences

The catalog data is dedicated to the public domain under CC0 1.0. The code of the site, the API and the scripts is under the MIT licence.