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.