diff --git a/doc/rules/NoSpaceAfterBrace.md b/doc/rules/NoSpaceAfterBrace.md
new file mode 100644
index 00000000..28a9a50d
--- /dev/null
+++ b/doc/rules/NoSpaceAfterBrace.md
@@ -0,0 +1,81 @@
+StyleChecker
+
+
+# NoSpaceAfterBrace
+
+
+
+![NoSpaceAfterBrace][fig-NoSpaceAfterBrace]
+
+
+
+## Summary
+
+A brace (‘`{`’ or ‘`}`’) must be followed by a white
+space.
+
+## Default severity
+
+Warning
+
+## Description
+
+An opening brace (‘`{`’) that is not the last character on the line
+must be followed by a single space or a closing brace (‘`}`’).
+
+A closing brace (‘`}`’) that is not the last character on the line
+must be followed by a single space, a closing parenthesis (‘`)`’),
+an opening bracket (‘`[`’), a comma (‘`,`’), a period
+(‘`.`’), an exclamation mark (‘`!`’), a question mark
+(‘`?`’), or a semicolon (‘`;`’).
+
+Note that this analyzer and [NoSpaceBeforeBrace](NoSpaceBeforeBrace.md)
+analyzer are designed to use them together and replace [SA1012][sa1012] and
+[SA1013][sa1013] with them, allowing us to write empty braces
+(“`{}`”) as follows:
+
+```csharp
+Action doNothing = () => {};
+
+if (maybeString is {} s)
+{
+ ⋮
+}
+```
+
+## Code fix
+
+The code fix provides an option inserting a space after the brace.
+
+## Example
+
+### Diagnostic
+
+```csharp
+string[] array = {"" };
+
+Action doNothing = () => {return; };
+
+if (array is {Length: 0 }z)
+{
+}
+```
+
+### Code fix
+
+```csharp
+string[] array = { "" };
+
+Action doNothing = () => { return; };
+
+if (array is { Length: 0 } z)
+{
+}
+```
+
+[sa1012]:
+ https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1012.md
+[sa1013]:
+ https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1013.md
+[fig-NoSpaceAfterBrace]:
+ https://maroontress.github.io/StyleChecker/images/NoSpaceAfterBrace.png
diff --git a/doc/rules/NoSpaceBeforeBrace.md b/doc/rules/NoSpaceBeforeBrace.md
new file mode 100644
index 00000000..cdebede4
--- /dev/null
+++ b/doc/rules/NoSpaceBeforeBrace.md
@@ -0,0 +1,79 @@
+StyleChecker
+
+
+# NoSpaceBeforeBrace
+
+
+
+![NoSpaceBeforeBrace][fig-NoSpaceBeforeBrace]
+
+
+
+## Summary
+
+A brace (‘`{`’ or ‘`}`’) must be preceded by a white
+space.
+
+## Default severity
+
+Warning
+
+## Description
+
+An opening brace (‘`{`’) that is not the first character on the
+line must be preceded by a single space or an opening parenthesis
+(‘`(`’).
+
+A closing brace (‘`}`’) that is not the first character on the line
+must be preceded by a single space or an opening brace (‘`{`’).
+
+Note that this analyzer and [NoSpaceAfterBrace](NoSpaceAfterBrace.md) analyzer
+are designed to use them together and replace [SA1012][sa1012] and
+[SA1013][sa1013] with them, allowing us to write empty braces
+(“`{}`”) as follows:
+
+```csharp
+Action doNothing = () => {};
+
+if (maybeString is {} s)
+{
+ ⋮
+}
+```
+
+## Code fix
+
+The code fix provides an option inserting a space before the brace.
+
+## Example
+
+### Diagnostic
+
+```csharp
+string[] array ={ ""};
+
+Action doNothing = () =>{ return;};
+
+if (array is{ Length: 0} z)
+{
+}
+```
+
+### Code fix
+
+```csharp
+string[] array = { "" };
+
+Action doNothing = () => { return; };
+
+if (array is { Length: 0 } z)
+{
+}
+```
+
+[sa1012]:
+ https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1012.md
+[sa1013]:
+ https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1013.md
+[fig-NoSpaceBeforeBrace]:
+ https://maroontress.github.io/StyleChecker/images/NoSpaceBeforeBrace.png