The Power of Good Defaults
The best tools feel invisible. You don't configure them — you just use them.
Think about the tools you reach for daily. The ones you love probably had great defaults out of the box. The ones you tolerate probably required a weekend of configuration.
Good defaults are opinionated. They make choices so you don't have to. That's not limiting — it's liberating.
Next.js has good defaults. Tailwind has good defaults. Prettier has good defaults. They all share the same philosophy: make the common case easy and the edge case possible.
When I build tools, I think about defaults first: - What should happen when someone runs this for the first time? - What's the most common use case? - Can I eliminate a configuration option by just picking the right default?
Every config option is a decision you're pushing to the user. Sometimes that's necessary. Usually it's not.
Pick the right default. Ship it. Adjust later if needed.