Resig also talks about his experience with JQuery's API design:
Fear adding methods... Every single method you add to the API, you will have to support it.
Embrace removing code...
Provide an upgrade path...
You can't just willy-nilly remove stuff... With JQuery, if we change the API, we provide a plug-in that gave the 1.0 users an API that felt like 1.0. Another way to do it is to give 1.0 users an API that feels like the 1.1 API. Personally, I think pointing backwards is easier... It's pretty important that you cleanly identify versions so users know at which point they're upgrading to and from.
Reduce to a common root...
Reduce your API to its most common root. When you do that, you can have a core function that you can build on top of.
Resig also talks about the importance of consistence at many levels of code, such as in naming, argument position, and in callback context.