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 add project infrastructure to an existing directory of files or can create a completely new project. Both functions change the active project, so that subsequent use_*() calls affect the project that you've just created. See proj_set() to manually reset it.

create_package(path, fields = NULL,
  rstudio = rstudioapi::isAvailable(), open = interactive())

create_project(path, rstudio = rstudioapi::isAvailable(),
  open = interactive())



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


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


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.


If TRUE and in RStudio, a new RStudio project is opened in a new instance, if possible, or is switched to, otherwise. If TRUE and not in RStudio (or new project is not an RStudio project), working directory is set to the new project.