Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/r-lib/usethis

Set up commonly used 📦 components
https://github.com/r-lib/usethis

github package r rstats setup

Last synced: about 2 months ago
JSON representation

Set up commonly used 📦 components

Lists

README

        

---
output: github_document
---

```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```

# usethis usethis website

[![R-CMD-check](https://github.com/r-lib/usethis/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/r-lib/usethis/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/r-lib/usethis/branch/main/graph/badge.svg)](https://app.codecov.io/gh/r-lib/usethis?branch=main)
[![CRAN status](https://www.r-pkg.org/badges/version/usethis)](https://CRAN.R-project.org/package=usethis)
[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html#stable)
[![.github/workflows/R-CMD-check](https://github.com/r-lib/usethis/actions/workflows/.github/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/r-lib/usethis/actions/workflows/.github/workflows/R-CMD-check.yaml)

usethis is a workflow package: it automates repetitive tasks that arise during project setup and development, both for R packages and non-package projects.

## Installation

Install the released version of usethis from CRAN:

```{r, eval = FALSE}
install.packages("usethis")
```

Or install the development version from GitHub with:

```{r, eval = FALSE}
# install.packages("pak")
pak::pak("r-lib/usethis")
```

## Usage

Most `use_*()` functions operate on the *active project*: literally, a directory on your computer. If you've just used usethis to create a new package or project, that will be the active project. Otherwise, usethis verifies that current working directory is or is below a valid project directory and that becomes the active project. Use `proj_get()` or `proj_sitrep()` to manually query the project and [read more in the docs](https://usethis.r-lib.org/reference/proj_utils.html).

A few usethis functions have no strong connections to projects and will expect you to provide a path.

usethis is quite chatty, explaining what it's doing and assigning you tasks. `✔` indicates something usethis has done for you. `☐` indicates that you'll need to do some work yourself.

Below is a quick look at how usethis can help to set up a package. But remember, many usethis functions are also applicable to analytical projects that are not packages.

```{r, include = FALSE}
# Reset possible options
options(usethis.description = list())
```

```{r}
library(usethis)

# Create a new package -------------------------------------------------
path <- file.path(tempdir(), "mypkg")
create_package(path)
# only needed since this session isn't interactive
proj_activate(path)

# Modify the description ----------------------------------------------
use_mit_license("My Name")

use_package("ggplot2", "Suggests")

# Set up other files -------------------------------------------------
use_readme_md()

use_news_md()

use_test("my-test")

x <- 1
y <- 2
use_data(x, y)

# Use git ------------------------------------------------------------
use_git()
```

## Code of Conduct

Please note that the usethis project is released with a [Contributor Code of Conduct](https://usethis.r-lib.org/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms.