Set up, or migrate to a muggle project. Wraps the following steps, if the respective files or configuration do not already exist:

  1. Package Structure: Sets up scaffolding via usethis::create_package() and asks the user to complete the DESCRIPTION.

  2. Editors/IDEs: Sets up vscode (use_vscode()) and RStudio as editors.

  3. Git/GitHub: Initialises a git repo via usethis::use_git(), creates a repo on GitHub and sets it as an origin remote.

  4. README: Adds a README.md via usethis::use_readme_md() and asks the user to complete it.

  5. Testing: Sets up the project for unit tests via usethis::use_testthat() and test coverage via usethis::use_coverage().

  6. Documentation: Sets up markdown support in roxygen via usethis::use_roxygen_md(), package documentation via usethis::use_package_doc() and ddds a pkgdown website via usethis::use_pkgdown().

  7. Workflow Automation: sets up caching at lib_cache_path and tba.

  8. Compute Environment: tba.

create_muggle_package_sub(...)

Arguments

...

Arguments passed on to muggle::create_muggle_package

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

license

one of the license functions in usethis

license_holder

giving the license holder, used as cph and fnd role in DESCRIPTION

organisation

If supplied, the repo will be created under this organisation, instead of the account of the user associated with the auth_token. You must have permission to create repositories.

private

If TRUE, creates a private repository.

Warning

  • Must not be run inside a package, but at the root of all packages

  • If run on an existing project, the project should be under version control, with a clean working tree. The user should check all changes.

See also

Other setup helpers: use_codecov2(), use_vscode()