Recommended
Pick what most teams already use
Choose one of the three most used options in its category, so hiring, answers and integrations are easy to find.
How to do it
Use a public measure, not a feeling. Good measures are the latest Stack Overflow Developer Survey, weekly downloads on npm or PyPI, and the number of dependent packages. A popular tool has more tutorials, more answered questions and more libraries built for it. It also has more people finding and fixing its bugs. Popular does not mean right for every job, so read the "choose something else when" line under each pick. Write down why you picked it, as Keep decision records with a status says.
Examples
Using these examples: they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.
JavaScript example
const MIN_WEEKLY_DOWNLOADS = 1_000_000;
export async function isWidelyUsed(name) {
const { downloads } = await (await fetch(`https://api.npmjs.org/downloads/point/last-week/${name}`)).json();
return downloads >= MIN_WEEKLY_DOWNLOADS;
}
Python example
import json
import urllib.request
MIN_WEEKLY_DOWNLOADS = 1_000_000
def is_widely_used(name: str) -> bool:
data = json.load(urllib.request.urlopen(f"https://pypistats.org/api/packages/{name}/recent"))
return data["data"]["last_week"] >= MIN_WEEKLY_DOWNLOADS
How to check
Each pick is in the top three of its category in the latest Stack Overflow Developer Survey. Or it has over one million weekly downloads on npm or PyPI.
Related rules
- Keep decision records with a status in Engineering
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. Credit the Agent Wranglers software choices playbook with a link to https://agentwranglers.se/playbook/stack/how-to-choose/widely-used. Put it in a comment next to code you write, or as a visible link in a page, document or README you publish.