Why the Project Is Called Bootstrapping
To bootstrap a computer is to take it from nothing to running: a tiny first program loads a bigger one, which loads the system. The word comes from the old joke about pulling yourself up by your own bootstraps, which you can’t do, and which a computer does every time it starts. In software it came to mean the first step that gets anything from empty to usable.
An application has that step too. The migrations have run, the tables exist, and they’re empty. Before anyone can sign in, the roles need to be there. Before anyone can be invited, the permissions. Before anyone can pay, the plans. Putting those rows in place is the application’s bootstrap, and most projects have a seed script that does it once.
The first step, and every release after it.
The project’s name points at that step, and at what usually goes wrong with it. A bootstrap is treated as something that happens once. But the reference data keeps changing with every release, and by then the database isn’t empty anymore. Customers have renamed things and switched things off. Bootstrapping is that first step done so it can run again on every release, safely, against a database people have been using.
It’s also a plain word. A developer can say it once and spell it, it reads well as a package and a command, and for daily use the command has a short name: bst.