-
Notifications
You must be signed in to change notification settings - Fork 2
/
preface.qmd
61 lines (36 loc) · 3.6 KB
/
preface.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
---
title: "Preface"
subtitle: ""
format:
html:
css: style.css
---
# Motivation
The CRAN Cookbook was created to address common issues in R package submissions and re-submissions to CRAN, which often cause delays or package archiving. While solutions are available in the **Writing R Extensions** manual and **CRAN Repository Policy**, they can be difficult for maintainers to interpret and apply quickly. By offering user-friendly guidance, the cookbook aims to empower maintainers to resolve problems efficiently, streamline the submission process, and improve the feedback loop with the CRAN Team. Ultimately, this resource seeks to build confidence and the knowledge base of package maintainers.
The authors delivered a talk on *The CRAN Cookbook* at the virtual [LatinR Conference](https://latinr.org/en/) on November 20, 2024. The recording of the talk is available on [YouTube](https://www.youtube.com/watch?v=3QR1ez6CVTo).
# Introduction
The CRAN Cookbook has been developed as part of a special project grant from the R Consortium in 2024. The proposal is titled: **Improving the Skills of R Package Maintainers**. The goals of the project are:
1. Educate a diverse cohort of young R developers to acquire the technical knowledge and skills required to participate in the continuous integration of R packages into the R ecosystem.
2. Develop a new documentation solution with a Quarto website that is user-friendly for new R package maintainers on CRAN.
3. Identify common CRAN submission issues and create a framework of "problems" and "solutions" that are easy to implement and discover.
# Prerequisite
- **Beginner to intermediate knowledge of R Programming**: This guide is designed to assist both first-time R package maintainers and those with experience who prefer to navigate a curated selection of the most common issues encountered when submitting to CRAN, as identified by CRAN Maintainers. It provides a 'best practices' approach to resolving R package issues to facilitate a successful re-submission to CRAN.
- While not required, it's useful to have experience in debugging code. Submitting your R package to CRAN is a multi-step process that may involve communicating with multiple CRAN volunteers and updating your code, tests, examples, documentation, and other supplementary files to meet acceptance criteria. Developing strong debugging skills can be particularly valuable during this process, as it can help you effectively apply the examples in this cookbook to create custom solutions for updating your R package.
# Acknowledgement
- Thank you to the [R Consortium](https://www.r-consortium.org/) for funding and sponsoring this project!
![](https://raw.githubusercontent.com/RConsortium/artwork/main/r_consortium/R_Consortium-logo-horizontal-color.svg){fig-align="left"}
## Contributors
_Thank you to all contributors!_
If you are looking to make a contribution to the CRAN Cookbook please see our [contributors guide](https://github.com/r-devel/cran-cookbook/wiki/Contributors-Guide).
- Lluís Revilla ([@llrs](https://github.com/llrs))
- Ivan Krylov ([@aitap](https://github.com/aitap))
# Colophon
This cookbook is a Quarto website. To learn more about Quarto websites visit <https://quarto.org/docs/websites>. The cookbook is hosted on GitHub pages as part of the [Community R development resources](https://github.com/r-devel). The website is currently deployed with [local commands](https://github.com/r-devel/cran-cookbook/wiki/GitHub-Pages-Deployment).
### Session info
```{r}
if (!requireNamespace("devtools", quietly = TRUE)) {
install.packages("devtools")
}
library(devtools)
devtools::session_info()
```