From 3b2197c74a8cbfc81acd9601f1305e5d5cfe476d Mon Sep 17 00:00:00 2001 From: Philip Metzger Date: Mon, 17 Jun 2024 22:30:36 +0200 Subject: [PATCH] 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. --- docs/design_doc_blueprint.md | 56 ++++++++++++++++++++++++++++++++++++ docs/design_docs.md | 6 ++++ mkdocs.yml | 1 + 3 files changed, 63 insertions(+) create mode 100644 docs/design_doc_blueprint.md diff --git a/docs/design_doc_blueprint.md b/docs/design_doc_blueprint.md new file mode 100644 index 000000000..70f556367 --- /dev/null +++ b/docs/design_doc_blueprint.md @@ -0,0 +1,56 @@ +# Title + +> A cool name for your Project + +Author: [Your-Name](mailto:your-name@reachable.com) + +> 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. diff --git a/docs/design_docs.md b/docs/design_docs.md index a73e1f210..e40f323ee 100644 --- a/docs/design_docs.md +++ b/docs/design_docs.md @@ -20,3 +20,9 @@ Jujutsu, you'll need to go through this process. [Rust RFCs]: https://github.com/rust-lang/rfcs + +## Blueprint (Template) + +You can find the base template of a new Design Doc +[here](design_doc_blueprint.md). + diff --git a/mkdocs.yml b/mkdocs.yml index dfba94a1e..9659e392e 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -129,6 +129,7 @@ nav: - 'Guidelines and "How to...?"': 'contributing.md' - 'Code of conduct': 'code-of-conduct.md' - 'Design Docs': 'design_docs.md' + - 'Design Doc Blueprint': 'design_doc_blueprint.md' - 'Design docs': - 'git-submodules': 'design/git-submodules.md'