These functions create an R project:

• create_package() creates an R package

• create_project() creates a non-package project, i.e. a data analysis project

Both functions can be called on an existing project; you will be asked before any existing files are changed.

## Usage

create_package(
path,
fields = list(),
rstudio = rstudioapi::isAvailable(),
roxygen = TRUE,
check_name = TRUE,
open = rlang::is_interactive()
)

create_project(
path,
rstudio = rstudioapi::isAvailable(),
open = rlang::is_interactive()
)

## Arguments

path

A path. If it exists, it is used. If it does not exist, it is created, provided that the parent path exists.

fields

A named list of fields to add to DESCRIPTION, potentially overriding default values. See use_description() for how you can set personalized defaults using package options.

rstudio

If TRUE, calls use_rstudio() to make the new package or project into an RStudio Project. If FALSE and a non-package project, a sentinel .here file is placed so that the directory can be recognized as a project by the here or rprojroot packages.

roxygen

Do you plan to use roxygen2 to document your package?

check_name

Whether to check if the name is valid for CRAN and throw an error if not.

open

If TRUE, activates the new project:

• If RStudio desktop, the package is opened in a new session.

• If on RStudio server, the current RStudio project is activated.

• Otherwise, the working directory and active project is changed.

## Value

Path to the newly created project or package, invisibly.

create_tidy_package() is a convenience function that extends create_package() by immediately applying as many of the tidyverse development conventions as possible.