diff --git a/static/docs/command-reference/run.md b/static/docs/command-reference/run.md
index d1d89dd898..0c8ac67a1b 100644
--- a/static/docs/command-reference/run.md
+++ b/static/docs/command-reference/run.md
@@ -52,6 +52,21 @@ captures data and caches relevant data artifacts along
the way. See [this example](/doc/get-started/example-pipeline) to learn more and
try creating a pipeline.
+### Well-behaved commands
+
+DVC is simple to use, you only need to wrap your commands with `dvc run`, and
+define your dependencies and outputs.
+
+However, to prevent unexpected behaviors, ideally, your commands should follow
+some principles:
+
+- Read exclusively from specified dependencies.
+- Write exclusively to specified outputs.
+- Completely rewrite the outputs (do not append).
+- Stop reading and writing when the command exits.
+
+This will enhance reproducibility.
+
## Options
- `-d`, `--deps` - specify a file or a directory the stage depends on. Multiple
@@ -151,21 +166,6 @@ try creating a pipeline.
- `-v`, `--verbose` - displays detailed tracing information.
-### Well-behaved commands
-
-DVC is simple to use, you only need to wrap your commands with `dvc run`, and
-define your dependencies and outputs.
-
-However, to prevent unexpected behaviors, ideally, your commands should follow
-some principles:
-
-- Read exclusively from specified dependencies.
-- Write exclusively to specified outputs.
-- Completely rewrite the outputs (do not append).
-- Stop reading and writing when the command exits.
-
-This will enhance reproducibility.
-
## Examples
A trivial example to play with, try different set of options to see how they