Every good codebase we’ve worked on has a testing document: 

“If you’re working on the UI, run test suite X. If you’re working on the DB layer, run test suite Y. Running all tests in Y is slow, so use command Z to test one file. Or command ZZ to only do one test case. But don’t forget to run lint first to catch dumb mistakes. Install the linter with steps A-K.”

Every bad codebase we’ve seen locks this in the senior developer’s head.

Why do we have to remember this complicated decision tree? Why are we memorizing complex commands to run the minimum possible test case? Why do we have to be sysadmins for our local machines? And why does building my server make my laptop too hot for my lap?

Windmill is trying to solve these problems. We want to make developer tools (build, source, and test) cloud-based, simple, and easy. We don't entirely know what that means yet! We're still building it.