Skip to content

Commit

Permalink
user guide: add concept of well-behaved commands
Browse files Browse the repository at this point in the history
  • Loading branch information
Mr. Outis committed Dec 5, 2019
1 parent 0a0d69a commit 98deb29
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 0 deletions.
3 changes: 3 additions & 0 deletions static/docs/user-guide/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ guides related to contributing to this
[DVC-file](/doc/user-guide/dvc-files-and-directories) dependencies.
- [Managing External Data](/doc/user-guide/managing-external-data) explains both
external outputs and external cache.
- [Writing well-behaved commands](/doc/user-guide/well-behaved-command) goes
through the few technicalities that you need to take into account when using
DVC to run your commands.
- [Contributing](/doc/user-guide/contributing) is related with getting involved
directly in developing DVC. Contributors are very welcomed in our
[community](/support)!
Expand Down
12 changes: 12 additions & 0 deletions static/docs/user-guide/well-behaved-command.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Writing well-behaved commands

DVC is simple to use, you only need to wrap your commands with `dvc run`, and
define your dependencies and outputs.

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

0 comments on commit 98deb29

Please sign in to comment.