Title#
A cool name for your Project
Author: Your-Name
If there are multiple authors, just list them all
Summary#
A short summary of your project/re-design/component and what problems it addresses in about 3-10 sentences.
State of the Feature as of $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.
Prior work (optional)#
Does this feature exist somewhere else and which tradeoffs it made.
If there's no prior work, then use the related work section below.
Goals and non-goals#
Direct goals of the project and features deemed not worth pursuing.
Overview#
A detailed overview of the project and the improvements it brings.
Detailed Design#
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.
Alternatives considered (optional)#
Other alternatives to your suggested approach, and why they fall short.
Issues addressed (optional)#
A list of issues which are addressed by this design.
Related Work (optional)#
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.
Future Possibilities#
The section for things which could be added to it or deemed out of scope during the discussion.