--- /dev/null
+# rule-empty-line-before
+
+Require or disallow an empty line before rules.
+
+```css
+a {}
+ /* ← */
+b {} /* ↑ */
+/** ↑
+ * This line */
+```
+
+If the rule is the very first node in a stylesheet then it is ignored.
+
+The `--fix` option on the [command line](../../../docs/user-guide/cli.md#autofixing-errors) can automatically fix all of the problems reported by this rule. We recommend to enable [`indentation`](../indentation/README.md) rule for better autofixing results with this rule.
+
+## Options
+
+`string`: `"always"|"never"|"always-multi-line"|"never-multi-line"`
+
+### `"always"`
+
+There *must always* be an empty line before rules.
+
+The following patterns are considered violations:
+
+```css
+a {} b {}
+```
+
+```css
+a {}
+b {}
+```
+
+The following patterns are *not* considered violations:
+
+```css
+a {}
+
+b {}
+```
+
+### `"never"`
+
+There *must never* be an empty line before rules.
+
+The following patterns are considered violations:
+
+```css
+a {}
+
+b {}
+```
+
+The following patterns are *not* considered violations:
+
+```css
+a {} b {}
+```
+
+```css
+a {}
+b {}
+```
+
+### `"always-multi-line"`
+
+There *must always* be an empty line before multi-line rules.
+
+The following patterns are considered violations:
+
+```css
+a {
+ color: red;
+}
+b {
+ color: blue;
+}
+```
+
+The following patterns are *not* considered violations:
+
+```css
+a {
+ color: red;
+}
+
+b {
+ color: blue;
+}
+```
+
+### `"never-multi-line"`
+
+There *must never* be an empty line before multi-line rules.
+
+The following patterns are considered violations:
+
+```css
+a {
+ color: red;
+}
+
+b {
+ color: blue;
+}
+```
+
+The following patterns are *not* considered violations:
+
+```css
+a {
+ color: red;
+}
+b {
+ color: blue;
+}
+```
+
+## Optional secondary options
+
+### `except: ["after-rule", "after-single-line-comment", "inside-block-and-after-rule", "inside-block", "first-nested"]`
+
+#### `"after-rule"`
+
+Reverse the primary option if the rule comes after another rule.
+
+For example, with `"always"`:
+
+The following patterns are considered violations:
+
+```css
+a {}
+
+b {}
+```
+
+The following patterns are *not* considered violations:
+
+```css
+a {}
+b {}
+```
+
+#### `"after-single-line-comment"`
+
+Reverse the primary option if the rule comes after a single-line comment.
+
+For example, with `"always"`:
+
+The following patterns are considered violations:
+
+```css
+/* comment */
+
+a {}
+```
+
+The following patterns are *not* considered violations:
+
+```css
+/* comment */
+a {}
+```
+
+#### `"inside-block-and-after-rule"`
+
+Reverse the primary option if the rule is inside a block and comes after another rule.
+
+For example, with `"always"`:
+
+The following patterns are considered violations:
+
+```css
+@media {
+
+ a {}
+
+ b {}
+}
+```
+
+The following patterns are *not* considered violations:
+
+```css
+@media {
+ a {}
+ b {}
+}
+```
+
+#### `"inside-block"`
+
+Reverse the primary option if the rule is inside a block.
+
+For example, with `"always"`:
+
+The following patterns are considered violations:
+
+```scss
+a {
+ color: red;
+
+ b {
+ color: blue;
+ }
+}
+
+```
+
+The following patterns are *not* considered violations:
+
+```scss
+a {
+ color: red;
+ b {
+ color: blue;
+ }
+}
+```
+
+#### `"first-nested"`
+
+Reverse the primary option if the rule is the first in a block.
+
+For example, with `"always"`:
+
+The following patterns are considered violations:
+
+```css
+@media {
+
+ a {}
+
+ b {}
+}
+```
+
+The following patterns are *not* considered violations:
+
+```css
+@media {
+ a {}
+
+ b {}
+}
+```
+
+### `ignore: ["after-comment", "inside-block"]`
+
+#### `"after-comment"`
+
+Ignore rules that come after a comment.
+
+For example, with `"always"`:
+
+The following patterns are *not* considered violations:
+
+```css
+/* comment */
+a {}
+```
+
+#### `"inside-block"`
+
+Ignore rules that are inside a block.
+
+For example, with `"always"`:
+
+The following patterns are *not* considered violations:
+
+```css
+@media {
+ a {}
+}
+```
+
+```css
+@media {
+ a {}
+ b {}
+}
+```