set upsetup

One is a verb. One is a noun.
Most repos pick the wrong one.

I scanned public repositories on GitHub and found of them mixing up set up (the verb) with setup (the noun). This is my attempt at public shaming, hoping it helps people remember to use the correct one.

A minor but widespread annoyance

Set up is a phrasal verb: the action of preparing something. Setup is a noun: the configuration that results. Developers too often write setup the database when they mean set up the database. The mistake hides in READMEs, code comments, and docs across the open-source (and closed-source) world.

set up

verb

to place or fix in position; to assemble, prepare, or arrange (something) for use or for a particular purpose.

e.g. “Run npm install to set up the project.”

Merriam-Webster

setup

noun

the manner or act of arranging or organizing; the equipment, devices, or apparatus put together for a specific purpose.

e.g. “The CI setup uses GitHub Actions.”

Merriam-Webster

How the data was collected

Over the course of 6 months a Python crawler slowly (read: 250 at a time) walked the public GitHub search API for repositories with at least 25 stars, sliced into six-month windows of creation date. For each repository it scanned READMEs, documentation files, and code comments for occurrences of setup used in a verb position (setup the …, to setup …, Setup your …, and similar patterns). Lines that matched were captured with file path and line number for inspection.

The code was largely written by Claude, because of course it was. As such there might be some inaccuracies in the results, but over the course of collecting the data I spot checked frequently and didn't find any false-positives.

Last update: . The full crawler lives in setup_checker.py.

About the data

Early entries in the data do not have examples of the improper grammar. I later added functionality to grab an example and store it in the log, so some repos in the data will return a highlighted example in the search results. If a repo does not have an example that just means it was from an entry early in the process.

Function names were intionally left out of the scan simply because camel case doesn't allow for the chance to use the proper form where snake case would: set_up_user vs setupUser. I have wondered if the common use of camel case is part of the reason this mistake is so ubiquitous.

The numbers

repositories analyzed
have at least one error
of analyzed repos
average errors in offending repos
median errors per offending repo

Distribution of errors per repository

Among the repositories that contain at least one error.

Where the errors live

Where in the repo the mistakes were found.

Most prolific offenders

Repositories with the highest count of setup/set up mistakes.

    Look up a repository

    Wondering whether your favorite project is on the list? Search for it.

    Search →