This function populates a directory with files for a Shiny application.

shinyAppTemplate(path = NULL, examples = "default", dryrun = FALSE)



Path to create new shiny application template.


Either one of "default", "ask", "all", or any combination of "app", "rdir", "module", and "tests". In an interactive session, "default" falls back to "ask"; in a non-interactive session, "default" falls back to "all". With "ask", this function will prompt the user to select which template items will be added to the new app directory. With "all", all template items will be added to the app directory.


If TRUE, don't actually write any files; just print out which files would be written.


In an interactive R session, this function will, by default, prompt the user to select which components to add to the application. Choices are

1: All
2: app.R              : Main application file
3: R/example.R        : Helper file with R code
4: R/example-module.R : Example module
5: tests/testthat/    : Tests using the testthat and shinytest2 package

If option 1 is selected, the full example application including the following files and directories is created:

|- app.R
|- R
|   |- example-module.R
|   `- example.R
`- tests
    |- testthat.R
    `- testthat
        |- setup-shinytest2.R
        |- test-examplemodule.R
        |- test-server.R
        |- test-shinytest2.R
        `- test-sort.R

Some notes about these files:

  • app.R is the main application file.

  • All files in the R/ subdirectory are automatically sourced when the application is run.

  • R/example.R and R/example-module.R are automatically sourced when the application is run. The first contains a function lexical_sort(), and the second contains code for module created by the moduleServer() function, which is used in the application.

  • tests/ contains various tests for the application. You may choose to use or remove any of them. They can be executed by the runTests() function.

  • tests/testthat.R is a test runner for test files in the tests/testthat/ directory using the shinytest2 package.

  • tests/testthat/setup-shinytest2.R is setup file to source your ./R folder into the testing environment.

  • tests/testthat/test-examplemodule.R is a test for an application's module server function.

  • tests/testthat/test-server.R is a test for the application's server code

  • tests/testthat/test-shinytest2.R is a test that uses the shinytest2 package to do snapshot-based testing.

  • tests/testthat/test-sort.R is a test for a supporting function in the R/ directory.