docs/design_doc_blueprint.md
A cool name for your Project
Author: Your-Name
If there are multiple authors, just list them all
A short summary of your project/re-design/component and what problems it addresses in about 3-10 sentences.
$VERSION (optional)The state of the feature you want to improve and where it currently falls short. If there's nothing to compare to, leave it out.
Does this feature exist somewhere else and which tradeoffs it made.
If there's no prior work, then use the related work section below.
Direct goals of the project and features deemed not worth pursuing.
A detailed overview of the project and the improvements it brings.
The place to describe all new interfaces and interactions and how it plays into the existing code and behavior. This is the place for all nitty-gritty details which interact with the system.
Other alternatives to your suggested approach, and why they fall short.
A list of issues which are addressed by this design.
If there's a feature in another VCS which shares some similarities to your proposed work, it belongs here. An example would be Jujutsu sparse workspaces and Perforce client workspaces.
The section for things which could be added to it or deemed out of scope during the discussion.