A Framework for Robust Shiny Applications

An opinionated framework for building a production-ready 'Shiny' application. This package contains a series of tools for building a robust 'Shiny' application from start to finish.


Lifecycle:stableR-CMD-check CoveragestatusCRANstatus

{golem}

You’re reading the doc about version: 1.0.1. Note that {golem} follows the semantic versioning scheme.

Production-grade {shiny} applications, from creation to deployment.

{golem} is an opinionated framework that sets the standard for building production-grade {shiny} applications. It provides a structured environment that enforces best practices, fosters maintainability, and ensures your applications are reliable, and ready for deployment in real-world environments.

With {golem}, developers can focus on creating high-quality, robust {shiny} apps with confidence, knowing that the framework guides them through every step of the development process.

Installation

  • You can install the stable version from CRAN with:
install.packages("golem")
  • You can install the development version from GitHub with:
# install.packages("remotes")
remotes::install_github("ThinkR-open/golem") # Stable development version
# remotes::install_github("ThinkR-open/golem@dev") # Bleeding edge development version

Get Started

Create a new app with the project template from RStudio:

Or use the golem::create_golem() function:

golem::create_golem("myapp")

See your app in action by running golem::run_dev() function.

Then, follow the scripts at:

  • dev/01_start.R to configure your project at launch
  • dev/02_dev.R for day to day development
  • dev/03_deploy.R to build the deployment enabler for your app

Resources

The {golem} package is part of the {golemverse}, a series of tools for building production {shiny} apps.

A list of various {golem} related resources (tutorials, video, blog post,…) can be found here, along with blogposts, and links to other packages of the golemverse.


Dev part

This README has been compiled on the

Sys.time()
#> [1] "2026-07-07 17:05:31 CEST"

Here are the test & coverage results:

devtools::check(quiet = TRUE)
#> ℹ Loading golem
#> ── R CMD check results ──────────────────────────────────────── golem 1.0.1 ────
#> Duration: 42.6s
#> 
#> 0 errors ✔ | 0 warnings ✔ | 0 notes ✔
Sys.setenv("NOT_CRAN" = TRUE)
covr::package_coverage()
#> golem Coverage: 88.91%
#> R/boostrap_base.R: 0.00%
#> R/bootstrap_attachment.R: 0.00%
#> R/bootstrap_pkgload.R: 0.00%
#> R/bootstrap_roxygen2.R: 0.00%
#> R/bootstrap_rstudio_api.R: 0.00%
#> R/bootstrap_testthat.R: 0.00%
#> R/bootstrap_dockerfiler.R: 23.33%
#> R/test_helpers.R: 45.06%
#> R/boostrap_cli.R: 66.33%
#> R/bootstrap_desc.R: 73.33%
#> R/addins.R: 76.00%
#> R/add_r_files.R: 80.06%
#> R/install_dev_deps.R: 80.70%
#> R/add_dockerfiles_renv.R: 81.97%
#> R/modules_fn.R: 82.48%
#> R/reload.R: 84.28%
#> R/bootstrap_usethis.R: 85.45%
#> R/js.R: 86.21%
#> R/add_rstudio_files.R: 87.12%
#> R/add_dockerfiles.R: 88.50%
#> R/create_golem.R: 89.63%
#> R/add_ci_files.R: 89.74%
#> R/cli_msg.R: 90.62%
#> R/use_agent_skills.R: 91.27%
#> R/sanity_check.R: 91.86%
#> R/disable_autoload.R: 91.89%
#> R/use_favicon.R: 93.84%
#> R/add_files.R: 95.13%
#> R/use_recommended.R: 95.89%
#> R/use_files_internal.R: 96.00%
#> R/use_files_external.R: 96.20%
#> R/utils.R: 97.14%
#> R/create_golem_helpers.R: 97.56%
#> R/desc.R: 97.60%
#> R/make_dev.R: 97.78%
#> R/run_dev.R: 98.18%
#> R/use_utils.R: 98.96%
#> R/add_resource_path.R: 100.00%
#> R/boostrap_fs.R: 100.00%
#> R/browser_button.R: 100.00%
#> R/bundle_resources.R: 100.00%
#> R/config.R: 100.00%
#> R/enable_roxygenize.R: 100.00%
#> R/globals.R: 100.00%
#> R/golem_welcome_page.R: 100.00%
#> R/golem-yaml-get.R: 100.00%
#> R/golem-yaml-set.R: 100.00%
#> R/golem-yaml-utils.R: 100.00%
#> R/is_golem.R: 100.00%
#> R/is_running.R: 100.00%
#> R/maintenance_page.R: 100.00%
#> R/pkg_tools.R: 100.00%
#> R/set_golem_options.R: 100.00%
#> R/templates.R: 100.00%
#> R/use_files_external_tools.R: 100.00%
#> R/use_files_internal_tools.R: 100.00%
#> R/use_files_shared_tools.R: 100.00%
#> R/use_readme.R: 100.00%
#> R/with_opt.R: 100.00%

CoC

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Note for the contributors

Please format the files with air before submitting a contribution:

air format .

The repository also ships a pre-commit hook that runs air automatically (see .pre-commit-config.yaml).

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("golem")

1.0.1 by Colin Fay, 3 months ago


https://thinkr-open.github.io/golem/, https://github.com/ThinkR-open/golem


Report a bug at https://github.com/ThinkR-open/golem/issues


Browse source code at https://github.com/cran/golem


Authors: Colin Fay [cre, aut] , Vincent Guyader [aut] , previous maintainer) , Sébastien Rochette [aut] (ORCID: , Cervan Girard [aut] , Novica Nakov [ctb] , David Granjon [ctb] , Arthur Bréant [ctb] , Antoine Languillaume [ctb] , Ilya Zarubin [ctb] , ThinkR [cph]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports attempt, codetools, config, htmltools, rlang, shiny, utils, yaml

Suggests attachment, callr, cli, covr, desc, devtools, dockerfiler, fs, httpuv, knitr, lifecycle, mockery, pkgbuild, pkgdown, pkgload, processx, purrr, rcmdcheck, remotes, renv, rmarkdown, roxygen2, rsconnect, rstudioapi, sass, spelling, stringr, testthat, tools, usethis, withr


Imported by AbSolution, FAfA, Familia, FielDHub, Holomics, IsoCor, LDAShiny, MainExistingDatasets, OlympicRshiny, PERK, RawHummus, ReviewR, RobustFlow, Slick, SouthParkRshiny, TestAnaAPP, activAnalyzer, apisensr, bayesROE, bayprior, dataCompare, designer, discoveR, eCerto, fdapaceShiny, fioRa, fishRman, fitODBODRshiny, forecasteR, ggpca, ggpower, ggvolcano, gwpcormapper, kesernetwork, loadeR, movedesign, omicsTools, ordinalsimr, pannotator, phecodemap, pmxcode, predictoR, regressoR, sae4health, shinySbm, shinyTempSignal, shinymrp, ssd4mosaic, tcgaViz, tidyCDISC, vibass, viewpoly.

Suggested by HospitalNetwork, bs4Dash, craftgrn, d3po, shinytest2.


See at CRAN