It starts now in the v4 branch.
Let's start off just with design docs for each component.
- define our use cases, what should mongoose contain? what should it not contain?
- these should not include any real code
- after our use cases are defined, lets define the different areas of functionality (schema, query, etc) that will support our use cases
- each area of functionality should have its own design document for what it will solve
- once we have our architecture planned out, we'll start designing the APIs on top of these concerns
- after all use cases are finalized and APIs are defined, we'll start writing some code
- lets use existing modules if possible, no need to rewrite the world if we don't have to