{
  "_id": "6a22e037530b9bc726bc8e41",
  "Package": "goodpractice",
  "Title": "Advice on R Package Building",
  "Version": "1.1.0",
  "Authors@R": "c(\nperson(given = \"Mark\",\nfamily = \"Padgham\",\nrole = c(\"aut\", \"cre\"),\nemail = \"mark@ropensci.org\",\ncomment = c(ORCID = \"0000-0003-2172-5265\")),\nperson(given = \"Ascent Digital Services UK Limited\",\nrole = \"cph\",\ncomment = c(GitHub = \"MangoTheCat\")),\nperson(given = \"Karina\",\nfamily = \"Marks\",\nrole = \"aut\",\nemail = \"karina.marks@ascent.io\",\ncomment = c(GitHub = \"KarinaMarks\")),\nperson(given = \"Daniel\",\nfamily = \"de Bortoli\",\nrole = c(\"aut\"),\ncomment = c(GitHub = \"ddbortoli\")),\nperson(given = \"Gabor\",\nfamily = \"Csardi\",\nrole = \"aut\",\nemail = \"csardi.gabor@gmail.com\"),\nperson(given = \"Hannah\",\nfamily = \"Frick\",\nrole = \"aut\",\nemail = \"hannah.frick@gmail.com\"),\nperson(given = \"Owen\",\nfamily = \"Jones\",\nrole = \"aut\",\nemail = \"owenjonesuob@gmail.com\",\ncomment = c(GitHub = \"owenjonesuob\")),\nperson(given = \"Hannah\",\nfamily = \"Alexander\",\nrole = \"aut\",\nemail = \"halexander@mango-solutions.com\"),\nperson(given = \"Ana\",\nfamily = \"Simmons\",\nrole = c(\"ctb\"),\nemail = \"ana.simmons@ascent.io\",\ncomment = c(GitHub = \"anasimmons\")),\nperson(given = \"Fabian\",\nfamily = \"Scheipl\",\nrole = \"ctb\",\ncomment = c(GitHub = \"fabian-s\")),\nperson(given = \"Athanasia Mo\",\nfamily = \"Mowinckel\",\nemail = \"a.m.mowinckel@psykologi.uio.no\",\nrole = c(\"aut\"),\ncomment = c(\nGitHub = \"drmowinckels\",\nORCID = \"0000-0002-5756-0223\")\n))",
  "Description": "Give advice about good practices when building R packages.\nAdvice includes functions and syntax to avoid, package\nstructure, code complexity, code formatting, etc.",
  "License": "MIT + file LICENSE",
  "URL": "https://docs.ropensci.org/goodpractice/,\nhttps://github.com/ropensci-review-tools/goodpractice",
  "BugReports": "https://github.com/ropensci-review-tools/goodpractice/issues",
  "VignetteBuilder": "knitr",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "Config/testthat/edition": "3",
  "Config/ropensci/maintainer": "staff",
  "Collate": "'api.R' 'customization.R' 'lists.R' 'chk_avoided_packages.R'\n'treesitter.R' 'chk_code_structure.R' 'chk_covr.R'\n'chk_cyclocomp.R' 'chk_description.R' 'chk_generic.R'\n'chk_lintr.R' 'chk_namespace.R' 'chk_rcmdcheck.R' 'chk_rd.R'\n'chk_revdep.R' 'chk_roxygen2.R' 'chk_spelling.R'\n'chk_tidyverse.R' 'chk_urlchecker.R' 'chk_vignette.R' 'gp.R'\n'package.R' 'prep_utils.R' 'prep_covr.R' 'prep_cyclocomp.R'\n'prep_description.R' 'prep_lintr.R' 'prep_namespace.R'\n'prep_rcmdcheck.R' 'prep_rd.R' 'prep_revdep.R'\n'prep_roxygen2.R' 'prep_source.R' 'prep_spelling.R'\n'prep_tidyverse.R' 'prep_urlchecker.R' 'prep_vignette.R'\n'print.R' 'rstudio_markers.R' 'utils.R'",
  "Config/roxygen2/version": "8.0.0",
  "Config/pak/sysreqs": "cmake git make libuv1-dev libxml2-dev libssl-dev",
  "Repository": "https://ropensci-review-tools.r-universe.dev",
  "Date/Publication": "2026-06-05 13:03:52 UTC",
  "RemoteUrl": "https://github.com/ropensci-review-tools/goodpractice",
  "RemoteRef": "HEAD",
  "RemoteSha": "e141b59f0ee5de5149d76d668e5c93f038ed18d3",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-05 14:37:31 UTC",
    "User": "root"
  },
  "Author": "Mark Padgham [aut, cre] (ORCID:\n<https://orcid.org/0000-0003-2172-5265>),\nAscent Digital Services UK Limited [cph] (GitHub: MangoTheCat),\nKarina Marks [aut] (GitHub: KarinaMarks),\nDaniel de Bortoli [aut] (GitHub: ddbortoli),\nGabor Csardi [aut],\nHannah Frick [aut],\nOwen Jones [aut] (GitHub: owenjonesuob),\nHannah Alexander [aut],\nAna Simmons [ctb] (GitHub: anasimmons),\nFabian Scheipl [ctb] (GitHub: fabian-s),\nAthanasia Mo Mowinckel [aut] (GitHub: drmowinckels, ORCID:\n<https://orcid.org/0000-0002-5756-0223>)",
  "Maintainer": "Mark Padgham <mark@ropensci.org>",
  "MD5sum": "d26332e94dc383f2ce257218a029e617",
  "_user": "ropensci-review-tools",
  "_type": "src",
  "_file": "goodpractice_1.1.0.tar.gz",
  "_fileid": "8474876ac9b3153767def957ef22b6d06c34f6b6d8b0486412eae687eb60e1a4",
  "_filesize": 288483,
  "_sha256": "8474876ac9b3153767def957ef22b6d06c34f6b6d8b0486412eae687eb60e1a4",
  "_created": "2026-06-05T14:37:31.000Z",
  "_published": "2026-06-05T14:41:59.527Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79749662764,
      "time": 219,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7439310498"
    },
    {
      "job": 79749662803,
      "time": 225,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7439312391"
    },
    {
      "job": 79749662759,
      "time": 154,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7439285441"
    },
    {
      "job": 79749662983,
      "time": 150,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7439284260"
    },
    {
      "job": 79749029659,
      "time": 202,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7439227267"
    },
    {
      "job": 79749662724,
      "time": 129,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7439276575"
    },
    {
      "job": 79749662752,
      "time": 208,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7439306279"
    },
    {
      "job": 79749662786,
      "time": 227,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7439313043"
    },
    {
      "job": 79749662851,
      "time": 230,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7439313988"
    }
  ],
  "_buildurl": "https://github.com/r-universe/ropensci-review-tools/actions/runs/27021106352",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/ropensci-review-tools/goodpractice",
  "_commit": {
    "id": "e141b59f0ee5de5149d76d668e5c93f038ed18d3",
    "author": "mark padgham <mark.padgham@email.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #299 from ropensci-review-tools/cran-v1.1\n\ncran version 1.1",
    "time": 1780664632
  },
  "_maintainer": {
    "name": "Mark Padgham",
    "email": "mark@ropensci.org",
    "login": "mpadge",
    "mastodon": "@mpadge@nerdculture.de",
    "description": "rOpenSci software review lead",
    "uuid": 6697851,
    "orcid": "0000-0003-2172-5265"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.0.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "covr",
      "role": "Imports"
    },
    {
      "package": "curl",
      "role": "Imports"
    },
    {
      "package": "cyclocomp",
      "version": ">= 1.1.0",
      "role": "Imports"
    },
    {
      "package": "desc",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "lintr",
      "version": ">= 3.0.0",
      "role": "Imports"
    },
    {
      "package": "praise",
      "role": "Imports"
    },
    {
      "package": "rcmdcheck",
      "role": "Imports"
    },
    {
      "package": "roxygen2",
      "role": "Imports"
    },
    {
      "package": "rstudioapi",
      "role": "Imports"
    },
    {
      "package": "spelling",
      "role": "Imports"
    },
    {
      "package": "tools",
      "role": "Imports"
    },
    {
      "package": "treesitter",
      "role": "Imports"
    },
    {
      "package": "treesitter.r",
      "role": "Imports"
    },
    {
      "package": "urlchecker",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "whoami",
      "role": "Imports"
    },
    {
      "package": "withr",
      "role": "Imports"
    },
    {
      "package": "future",
      "role": "Suggests"
    },
    {
      "package": "future.apply",
      "role": "Suggests"
    },
    {
      "package": "kableExtra",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "ropensci-review-tools",
  "_selfowned": true,
  "_usedby": 4,
  "_updates": [
    {
      "week": "2025-26",
      "n": 2
    },
    {
      "week": "2025-27",
      "n": 1
    },
    {
      "week": "2025-28",
      "n": 1
    },
    {
      "week": "2026-07",
      "n": 1
    },
    {
      "week": "2026-08",
      "n": 9
    },
    {
      "week": "2026-09",
      "n": 8
    },
    {
      "week": "2026-12",
      "n": 9
    },
    {
      "week": "2026-13",
      "n": 14
    },
    {
      "week": "2026-14",
      "n": 3
    },
    {
      "week": "2026-15",
      "n": 16
    },
    {
      "week": "2026-16",
      "n": 7
    },
    {
      "week": "2026-22",
      "n": 1
    },
    {
      "week": "2026-23",
      "n": 6
    }
  ],
  "_tags": [
    {
      "name": "v1.1",
      "date": "2026-06-05"
    }
  ],
  "_stars": 477,
  "_contributors": [
    {
      "user": "mpadge",
      "count": 159,
      "uuid": 6697851
    },
    {
      "user": "drmowinckels",
      "count": 156,
      "uuid": 14014329
    },
    {
      "user": "gaborcsardi",
      "count": 88,
      "uuid": 660288
    },
    {
      "user": "hfrick",
      "count": 78,
      "uuid": 12950918
    },
    {
      "user": "owenjonesuob",
      "count": 41,
      "uuid": 21007837
    },
    {
      "user": "ddbortoli",
      "count": 18,
      "uuid": 25244497
    },
    {
      "user": "karinamarks",
      "count": 9,
      "uuid": 20110563
    },
    {
      "user": "olivroy",
      "count": 8,
      "uuid": 52606734
    },
    {
      "user": "dougmet",
      "count": 6,
      "uuid": 5878305
    },
    {
      "user": "maelle",
      "count": 5,
      "uuid": 8360597
    },
    {
      "user": "fabian-s",
      "count": 4,
      "uuid": 998541
    },
    {
      "user": "noamross",
      "count": 3,
      "uuid": 571752
    },
    {
      "user": "michaelchirico",
      "count": 3,
      "uuid": 7606389
    },
    {
      "user": "fkohrt",
      "count": 2,
      "uuid": 12914806
    },
    {
      "user": "anasimmons",
      "count": 1,
      "uuid": 95026699
    },
    {
      "user": "andrewl776",
      "count": 1,
      "uuid": 64008720
    },
    {
      "user": "halexander23",
      "count": 1,
      "uuid": 70958859
    },
    {
      "user": "jsta",
      "count": 1,
      "uuid": 7844578
    },
    {
      "user": "link-ny",
      "count": 1,
      "uuid": 4392950
    },
    {
      "user": "nfultz",
      "count": 1,
      "uuid": 418638
    },
    {
      "user": "russhyde",
      "count": 1,
      "uuid": 7734886
    },
    {
      "user": "marberts",
      "count": 1,
      "uuid": 62676717
    }
  ],
  "_userbio": {
    "uuid": 85607140,
    "type": "organization",
    "name": "ropensci-review-tools",
    "description": "Tools for automation of software review at rOpenSci"
  },
  "_downloads": {
    "count": 1179,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/goodpractice"
  },
  "_devurl": "https://github.com/ropensci-review-tools/goodpractice",
  "_pkgdown": "https://docs.ropensci.org/goodpractice/",
  "_searchresults": 110,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/goodpractice.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/ropensci-review-tools/goodpractice",
  "_realowner": "ropensci",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.2",
      "date": "2018-05-02"
    },
    {
      "version": "1.0.3",
      "date": "2022-07-13"
    },
    {
      "version": "1.0.4",
      "date": "2022-08-30"
    },
    {
      "version": "1.0.5",
      "date": "2024-06-04"
    },
    {
      "version": "1.1.0",
      "date": "2026-06-05"
    }
  ],
  "_exports": [
    "all_check_groups",
    "all_checks",
    "checks",
    "checks_by_group",
    "default_checks",
    "describe_check",
    "describe_check_groups",
    "export_json",
    "failed_checks",
    "failed_positions",
    "goodpractice",
    "gp",
    "make_check",
    "make_prep",
    "results",
    "tidyverse_checks"
  ],
  "_help": [
    {
      "page": "goodpractice-package",
      "title": "goodpractice: Advice on R Package Building",
      "topics": [
        "goodpractice-package"
      ]
    },
    {
      "page": "all_check_groups",
      "title": "List available check group names",
      "topics": [
        "all_check_groups"
      ]
    },
    {
      "page": "all_checks",
      "title": "List the names of all checks",
      "topics": [
        "all_checks"
      ]
    },
    {
      "page": "checks",
      "title": "List all checks performed",
      "concept": [
        "API"
      ],
      "topics": [
        "checks"
      ]
    },
    {
      "page": "checks_by_group",
      "title": "Select checks by check group",
      "topics": [
        "checks_by_group"
      ]
    },
    {
      "page": "customization",
      "title": "Defining custom preparations and checks",
      "topics": [
        "customization",
        "make_check",
        "make_prep"
      ]
    },
    {
      "page": "default_checks",
      "title": "List the names of default checks (excludes optional check sets)",
      "topics": [
        "default_checks"
      ]
    },
    {
      "page": "describe_check",
      "title": "Describe one or more checks",
      "topics": [
        "describe_check"
      ]
    },
    {
      "page": "describe_check_groups",
      "title": "Describe available check groups",
      "topics": [
        "describe_check_groups"
      ]
    },
    {
      "page": "export_json",
      "title": "Export failed checks to JSON",
      "topics": [
        "export_json"
      ]
    },
    {
      "page": "failed_checks",
      "title": "Names of the failed checks",
      "concept": [
        "API"
      ],
      "topics": [
        "failed_checks"
      ]
    },
    {
      "page": "failed_positions",
      "title": "Positions of check failures in the source code",
      "topics": [
        "failed_positions"
      ]
    },
    {
      "page": "gp",
      "title": "Run good practice checks",
      "topics": [
        "goodpractice",
        "gp"
      ]
    },
    {
      "page": "print.goodPractice",
      "title": "Print goodpractice results",
      "topics": [
        "print.goodPractice"
      ]
    },
    {
      "page": "results",
      "title": "Return all check results in a data frame",
      "concept": [
        "API"
      ],
      "topics": [
        "results"
      ]
    },
    {
      "page": "tidyverse_checks",
      "title": "List the names of tidyverse style checks",
      "topics": [
        "tidyverse_checks"
      ]
    }
  ],
  "_pkglogo": "https://github.com/ropensci-review-tools/goodpractice/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/ropensci-review-tools/goodpractice/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "backports",
    "brew",
    "callr",
    "cli",
    "codetools",
    "commonmark",
    "covr",
    "cpp11",
    "crayon",
    "curl",
    "cyclocomp",
    "desc",
    "digest",
    "evaluate",
    "fs",
    "glue",
    "highr",
    "httr",
    "hunspell",
    "jsonlite",
    "knitr",
    "lifecycle",
    "lintr",
    "mime",
    "openssl",
    "pkgbuild",
    "pkgload",
    "praise",
    "prettyunits",
    "processx",
    "ps",
    "R6",
    "rcmdcheck",
    "Rcpp",
    "remotes",
    "rex",
    "rlang",
    "roxygen2",
    "rprojroot",
    "rstudioapi",
    "sessioninfo",
    "spelling",
    "sys",
    "treesitter",
    "treesitter.r",
    "urlchecker",
    "vctrs",
    "whoami",
    "withr",
    "xfun",
    "xml2",
    "xmlparsedata",
    "xopen",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "custom_checks.Rmd",
      "filename": "custom_checks.html",
      "title": "Custom Checks",
      "author": "Hannah Frick",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What's happening inside of gp()?",
        "Writing custom checks",
        "Checks without corresponding preparation steps",
        "Including a preparation step"
      ],
      "created": "2018-04-27 13:09:58",
      "modified": "2026-03-01 16:11:58",
      "commits": 4
    },
    {
      "source": "goodpractice.Rmd",
      "filename": "goodpractice.html",
      "title": "goodpractice",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why goodpractice?",
        "Quick start",
        "What gp() actually does",
        "Choosing what to run",
        "Check groups",
        "Excluding check groups",
        "Excluding files",
        "Parallel preparation",
        "Tidyverse style checks",
        "Working with results",
        "Custom checks"
      ],
      "created": "2018-04-24 14:36:22",
      "modified": "2026-06-03 15:43:21",
      "commits": 12
    }
  ],
  "_score": 11.30676876238181,
  "_indexed": false,
  "_nocasepkg": "goodpractice",
  "_universes": [
    "ropensci-review-tools"
  ],
  "_indexurl": "https://ropensci.r-universe.dev/goodpractice",
  "_previous": "1.0.5.9001",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1.0",
      "date": "2026-06-05T14:39:52.000Z",
      "distro": "noble",
      "commit": "e141b59f0ee5de5149d76d668e5c93f038ed18d3",
      "fileid": "dd4537f3a6603d1198235b3fad8b543adcba00e7cac9b445377cb303f0b2d0d6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci-review-tools/actions/runs/27021106352"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.1.0",
      "date": "2026-06-05T14:39:50.000Z",
      "distro": "noble",
      "commit": "e141b59f0ee5de5149d76d668e5c93f038ed18d3",
      "fileid": "699761a4531559e10440b81d1e4f1547df2c61de5c14c01616607c40d3c6e692",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci-review-tools/actions/runs/27021106352"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.1.0",
      "date": "2026-06-05T14:39:03.000Z",
      "commit": "e141b59f0ee5de5149d76d668e5c93f038ed18d3",
      "fileid": "68634196ca5d48c60d54cf5a323803c0814364331d25b82b13bbbb874a1cbcf5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci-review-tools/actions/runs/27021106352"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.1.0",
      "date": "2026-06-05T14:39:03.000Z",
      "commit": "e141b59f0ee5de5149d76d668e5c93f038ed18d3",
      "fileid": "74c1413654a33f000609b323284fee385495eeb0864c1bb35f1cc6dc9fab7985",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci-review-tools/actions/runs/27021106352"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.1.0",
      "date": "2026-06-05T14:39:59.000Z",
      "commit": "e141b59f0ee5de5149d76d668e5c93f038ed18d3",
      "fileid": "231e775930821e2d13b359b6f136a86dc63fdae03feee2d6133929e46d991429",
      "status": "success",
      "buildurl": "https://github.com/r-universe/ropensci-review-tools/actions/runs/27021106352"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.1.0",
      "date": "2026-06-05T14:39:11.000Z",
      "commit": "e141b59f0ee5de5149d76d668e5c93f038ed18d3",
      "fileid": "e2c68d7da0c679d5029e4f6526409a341d6c4a376a67b44fc429cabf03855292",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci-review-tools/actions/runs/27021106352"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.1.0",
      "date": "2026-06-05T14:39:01.000Z",
      "commit": "e141b59f0ee5de5149d76d668e5c93f038ed18d3",
      "fileid": "53d625370f1e82bf73d22b675a856e43cb40f6c56fc53693a5b286b3894babe0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci-review-tools/actions/runs/27021106352"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.1.0",
      "date": "2026-06-05T14:39:22.000Z",
      "commit": "e141b59f0ee5de5149d76d668e5c93f038ed18d3",
      "fileid": "97ba90b174514fc37815266bdcd44fc72ea3e68c93b4069bc2bef8f5963aa2ca",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci-review-tools/actions/runs/27021106352"
    }
  ]
}