---
title: "hook-order"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{hook-order}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
```

Read only hooks should generally run only after write hooks.

## Rules for editing this document

-   Only add a dependency once, i.e. if styler must run before roxygen, add the requirement to styler or roxygen, not both. This makes keeping track easier.
-   The hooks must appear in an order that meets all constraints, not just randomly order constraints.

## Hooks with dependencies

### Read and write

-   style-files - caches; should run before roxygenize because of the caching
-   roxygenize - caches
-   codemeta-description-updated - must be before use-tidy-description
-   use-tidy-description
-   spell-check - updates `inst/WORDLIST` (unless `--read-only` arg is specified); should run after roxygenize

### Read only

-   lintr - should run after styler
-   readme-rmd-rendered - must run after styler
-   parsable-R
-   no-browser-statement
-   no-print-statement
-   no-debug-statement
-   deps-in-desc
-   pkgdown
