A dependency budget keeps optional package adoption small and reviewable.

Program

Play the script to change the number of optional packages under consideration.

dependency_budget.R
optional_count <- 
base_tools <- c("base", "stats")
optional_tools <- c("readr", "ggplot2", "shiny", "targets")
chosen <- head(optional_tools, optional_count)
total <- length(base_tools) + length(chosen)
label <- paste("tools", total, sep = ":")
cat(label, "\n", sep = "")
optional_count <- 
base_tools <- c("base", "stats")
optional_tools <- c("readr", "ggplot2", "shiny", "targets")
chosen <- head(optional_tools, optional_count)
total <- length(base_tools) + length(chosen)
label <- paste("tools", total, sep = ":")
cat(label, "\n", sep = "")
optional_count <- 
base_tools <- c("base", "stats")
optional_tools <- c("readr", "ggplot2", "shiny", "targets")
chosen <- head(optional_tools, optional_count)
total <- length(base_tools) + length(chosen)
label <- paste("tools", total, sep = ":")
cat(label, "\n", sep = "")
budget `optional_count` limits how many optional dependencies are being considered.
base tools Built-in tools are tracked separately from optional package labels.
review count The total count gives reviewers a quick size check.