jj/docs/design_doc_blueprint.md
Philip Metzger 3b2197c74a docs: Add a Design Doc blueprint.
This should be the template for all new Design Docs, minor deviations aside.
Hopefully this makes the process a bit easier.
2024-06-30 15:37:40 +02:00

1.5 KiB

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.

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.