Workflow
scaffold()
Initialize and load the project environment
The primary entry point for working with Framework projects. Call this at the start of every notebook or script to set up your environment with all configured packages, functions, and settings.
Usage
scaffold(config_file = NULL)
Arguments
- config_file
- Path to configuration file. If NULL (default), automatically discovers settings.yml or config.yml in the project.
Value
Invisibly returns NULL. The main effects are side effects: loading packages, sourcing functions, and creating the `config` object.
Details
scaffold() performs the following steps in order:
- Standardizes working directory - Finds and sets the project root, even when called from notebooks in subdirectories
- Loads environment variables - Reads secrets from
.envfile - Loads configuration - Parses settings.yml for project settings
- Sets random seed - For reproducibility (if
seedis configured) - Installs packages - Any missing packages from the
packageslist - Loads packages - Attaches all configured packages
- Sources functions - Loads all
.Rfiles fromfunctions/directory
After scaffold() completes, you have access to:
- All packages listed in settings.yml
- All functions from your
functions/directory - Settings via
settings("key")helper function - Database connections configured in your project
Examples
if (FALSE) {
# At the top of every notebook or script:
library(framework)
scaffold()
# Now you can use your configured packages and functions
# Access settings via the settings() helper:
settings("directories.notebooks")
settings("seed")
}