Files
go-task/website/scripts/find-adopters
Valentin Maerten cb7b4dc235 feat(website): refresh adopters list and add discovery tool
Reshuffles the adopters list to lead with big brands (Docker, HashiCorp,
Microsoft, Vercel, Google Cloud, AWS) followed by high-profile OSS
(FerretDB, Tyk, Outline, etc.), so the section reads as strong social
proof rather than a niche catalog.

Adds website/scripts/find-adopters, a small Go CLI that sidesteps the
1000-result cap on GitHub Code Search by partitioning queries per star
bucket (and per pushed-year when a bucket overflows), then enriches
every hit via a batched GraphQL call. The result is a ranked TSV/JSON
of adopter candidates, filterable by min stars and owner type, that
can be rerun periodically to keep the list fresh. Exposed via
`task find-adopters` in website/Taskfile.yml.
2026-04-19 13:26:18 +02:00
..

find-adopters

A small Go tool that scans GitHub for every public repository containing a Taskfile.yml or Taskfile.yaml and produces a ranked list of adopter candidates for the taskfile.dev "Used by" section.

How it works

GitHub Code Search caps results at 1000 per query. find-adopters partitions queries by star bucket (and, for the 0-star bucket, by pushed-year) so every sub-query stays under the cap. Each unique repo is then enriched via a single batched GraphQL call (stars, description, owner type, language, topics) and sorted by popularity.

The full scan typically takes 15-30 minutes, mostly spent respecting the Code Search rate limit (30 req/min).

Usage

# From this directory:
go run . -v                           # full scan → adopters-scan.tsv
go run . --min-stars 100 -v           # only >=100 stars
go run . --owner-type org --json -o orgs.json

Or from the website root (if the Taskfile task is installed):

task find-adopters -- --min-stars 100 -v

Flags

Flag Default Description
-o adopters-scan.tsv output path
--json false emit JSON instead of TSV
--min-stars 0 filter results below threshold
--include-forks false include forked repos
--include-archived false include archived repos
--owner-type any org, user, or any
-v false verbose progress logging

Auth

A GitHub token is required. In order of precedence:

  1. GITHUB_TOKEN env var
  2. gh auth token (requires the GitHub CLI)

The token needs no special scopes for public data.

Output (TSV)

stars	full_name	owner_type	language	url	description
13619	OJ/gobuster	User	Go	https://github.com/OJ/gobuster	Directory/File...
10918	FerretDB/FerretDB	Organization	Go	https://github.com/FerretDB/FerretDB	A truly Open Source MongoDB alternative
...