Package: projr 0.5.1

Miguel Rodo

projr: Facilitate Reproducible and Archived Projects

Facilitate reproducible and archived projects.

Authors:Miguel Rodo [aut, cre]

projr_0.5.1.tar.gz
projr_0.5.1.tgz(r-4.6-any)projr_0.5.1.tgz(r-4.5-any)
projr_0.5.1.tar.gz(r-4.7-any)projr_0.5.1.tar.gz(r-4.6-any)
projr_0.5.1.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
projr/json (API)

# Install 'projr' in R:
install.packages('projr', repos = c('https://satvilab.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/satvilab/projr/issues

Pkgdown/docs site:https://satvilab.github.io

On CRAN:

Conda:

reproducible-researchworkflow

6.09 score 2 stars 39 scripts 91 exports 10 dependencies

Last updated from:9dc37d6628 (on v0.5.1). Checks:4 ERROR, 2 OK, 3 FAILURE. Indexed: yes.

TargetResultTimeFilesSyslog
linux-develERROR590
source / vignettesOK209
linux-releaseERROR755
macos-releaseERROR1613
macos-oldrelERROR1500
windows-develFAILURE3670
windows-releaseFAILURE3670
windows-oldrelFAILURE3670
wasm-releaseOK146

Exports:projr_buildprojr_build_check_packagesprojr_build_devprojr_build_majorprojr_build_minorprojr_build_patchprojr_cat_changelogprojr_content_updateprojr_env_setprojr_ignoreprojr_ignore_autoprojr_ignore_dirprojr_ignore_dir_gitprojr_ignore_dir_rbuildprojr_ignore_fileprojr_ignore_file_gitprojr_ignore_file_rbuildprojr_initprojr_init_allprojr_init_citeprojr_init_gitprojr_init_githubprojr_init_ignoreprojr_init_licenseprojr_init_promptprojr_init_renvprojr_init_renvironprojr_instr_auth_githubprojr_license_create_manualprojr_log_clearprojr_log_viewprojr_manifest_changesprojr_manifest_file_changedprojr_manifest_file_firstprojr_manifest_file_historyprojr_manifest_file_last_changeprojr_manifest_last_changeprojr_manifest_rangeprojr_par_getprojr_param_getprojr_path_getprojr_path_get_cache_buildprojr_path_get_cache_build_dirprojr_path_get_dirprojr_profile_createprojr_profile_create_localprojr_profile_deleteprojr_profile_delete_localprojr_profile_getprojr_renv_restoreprojr_renv_restore_and_updateprojr_renv_testprojr_renv_updateprojr_restore_repoprojr_restore_repo_wdprojr_unignore_manualprojr_unignore_manual_dirprojr_unignore_manual_dir_gitprojr_unignore_manual_dir_rbuildprojr_unignore_manual_fileprojr_unignore_manual_file_gitprojr_unignore_manual_file_rbuildprojr_use_dataprojr_version_getprojr_version_setprojr_yml_checkprojr_yml_cite_setprojr_yml_cite_set_defaultprojr_yml_dest_add_githubprojr_yml_dest_add_localprojr_yml_dir_license_getprojr_yml_dir_license_rmprojr_yml_dir_license_setprojr_yml_dir_license_updateprojr_yml_dir_path_rmprojr_yml_dir_path_setprojr_yml_getprojr_yml_git_setprojr_yml_git_set_defaultprojr_yml_hooks_addprojr_yml_hooks_add_postprojr_yml_hooks_add_preprojr_yml_hooks_rm_allprojr_yml_par_addprojr_yml_renv_setprojr_yml_restrictions_setprojr_yml_script_addprojr_yml_script_add_postprojr_yml_script_add_preprojr_yml_script_rmprojr_yml_script_rm_all

Dependencies:clidescdigestfsgluejsonliteR6renvrprojrootyaml

Build Process
The projr Build Process | Overview | Stage 1: Pre-Build | Validation | Remote destination preparation | Documentation and dependency snapshot | Version calculation | Hooks | Output directory preparation | Pre-build git commit | Pre-build manifest | Stage 2: Build | Script selection | Document rendering | Script execution | Stage 3: Post-Build | Artifact finalization | Post-build manifest | Documentation updates | Post-build git commit | Remote distribution | Post-build hooks | Dev version bump | Git push | Manifest System | Logging | Output levels | Log files | Debugging a failed build | Build Function Quick Reference | projr_build_patch / projr_build_minor / projr_build_major | projr_build_dev | Configuration helpers | Complete Lifecycle Example | Further reading

Last update: 2026-02-23
Started: 2025-11-20

Concepts
Core concepts | Single-purpose directories | Directory labels | Safe vs unsafe directories | Versioned builds | Development vs final builds | Development builds | Final builds | Build phases | Manifests | Archiving and restoration | Archive strategies | Restoration | Profiles | Environment variables | Dependencies and renv | The whole game

Last update: 2026-02-23
Started: 2025-11-09

Environment Variables
Environment Files | File Format | Example Setup | Loading Variables | Profiles | Key Variables | Build Control | Authentication | Precedence | Required Variables | Tips | See Also

Last update: 2026-02-23
Started: 2025-11-17

Get started
Get started with projr | Installation | Quick start | Builds | Development builds | Production builds | Archiving outputs | Restoring a project | Default directories | Manifest | Configuration | Next steps

Last update: 2026-02-23
Started: 2025-11-09

How-to guides
1. Initialise a project | 2. Run a development build | 3. Run a final (versioned) build | 4. Archive artefacts | 5. Restore artefacts | 6. Define directories and labels | 7. Use profiles | 8. View and manage build logs | 9. Query the manifest | 10. Configure environment variables

Last update: 2026-02-23
Started: 2025-11-09

intro
Introduction | Installation | Workflow | Initialise the project | Build the project | Versioning | Sharing outputs | _projr.yml configuration | directories | build | Setting up GitHub | Steps

Last update: 2026-02-23
Started: 2023-03-02

Restoring Artifacts
Quick start | projr_restore_repo() | projr_restore_repo_wd() | projr_content_update() | Parameters | Authentication | Configuring remotes | Examples | New collaborator setup | Selective restoration in an existing project | Falling back between remotes | Notes | See also

Last update: 2026-02-23
Started: 2025-11-20

Scripts and Hooks
Build Scripts | Configuration format | Priority | Managing scripts with R | Example: separate dev and production scripts | Example: one-off builds | Build Hooks | Execution details | Managing hooks with R | Example: data preparation hook | Example: separate dev and production hooks | Tips | See Also

Last update: 2026-02-23
Started: 2025-11-20

Sending to Remotes
GitHub Destinations | Local Destinations | Customization Options | structure | send_cue | send_strategy | send_inspect | Complete Configuration Examples | Comprehensive GitHub setup | Local archive setup | Multiple remotes | Build Workflow | Best Practices | Quick Reference | See Also

Last update: 2026-02-23
Started: 2025-11-20

Design
Design philosophy | Design goals | 1. Minimal cognitive overhead | 2. Fail-safe iteration | 3. Automation without magic | 4. Reproducibility by default | Core design principles | Single-purpose directories | Versioned builds, not versioned files | Configuration in YAML, not code | Dev builds vs final builds | Git integration, not Git dependency | Architecture | Layered design | Function naming conventions | Configuration precedence | Manifest format | Design decisions | Why semantic versioning? | Why default to GitHub Releases? | Why clear _output before builds? | Why route dev builds to cache? | Why YAML not TOML/JSON? | Future directions | Potential enhancements | Comparison to alternatives | projr vs targets | projr vs workflowr | projr vs usethis | Conclusion

Last update: 2025-12-10
Started: 2025-11-09

Destination Send Workflow
Overview | Stage 1: Getting the Remotes | Stage 2: Building the Plan | Stage 3: Implementing the Plan | Complete Workflow | Configuration Parameters | Examples | Example 1: First Upload (No Remote Exists) | Example 2: Incremental Update (Files Changed) | Example 3: No Changes (Skip Upload) | Example 4: Latest Structure (Always Overwrite) | Trust and Manifest Validation | Performance Considerations | Debugging | See Also

Last update: 2025-12-09
Started: 2025-12-09

Directory Licenses
Overview | Two Approaches to Directory Licensing | Supported License Types | YAML Configuration (Automatic Approach) | Setting License Configurations | YAMLConfiguration Format | Build-Time Behavior | Managing YAML Configurations | Author Precedence | Manual License Creation | Creating Manual Licenses | Manual License Behavior | Choosing an Approach | Example Workflows | Workflow 1: Automatic Licensing | Workflow 2: Manual Licensing | Workflow 3: Mixed Approach | Best Practices | Troubleshooting | License Not Created During Build | Manual License Overwritten | Wrong Authors in License | See Also

Last update: 2025-11-20
Started: 2025-11-20

Readme and manuals

Help Manual

Help pageTopics
Get active 'projr' settings and do no check.yml_get
Build project to outputprojr_build projr_build_major projr_build_minor projr_build_patch
Check if required packages for build are availableprojr_build_check_packages
Build dev projectprojr_build_dev
Cat useful informationprojr_cat_changelog
Set environment variables from filesprojr_env_set
Manually Ignore Files or Directories in '.gitignore' and '.Rbuildignore'projr_ignore projr_ignore_dir projr_ignore_dir_git projr_ignore_dir_rbuild projr_ignore_file projr_ignore_file_git projr_ignore_file_rbuild
Update '.gitignore' and '.Rbuildignore' with projr-managed ignoresprojr_ignore_auto
Initialize a projr Projectprojr_init projr_init_all projr_init_cite projr_init_git projr_init_github projr_init_ignore projr_init_license projr_init_renv
Initialise projectprojr_init_prompt
Set environment variables for projr_initprojr_init_renviron
Two-minutes or less authorisation instructionsprojr_instr_auth_github
Manually create LICENSE files without YAML configurationprojr_license_create_manual
Clear build logsprojr_log_clear
View build log (last n lines)projr_log_view
Query Files Changed Between Versionsprojr_manifest_changes projr_manifest_last_change projr_manifest_range
Query When a Specific File Last Changedprojr_manifest_file_changed projr_manifest_file_first projr_manifest_file_history projr_manifest_file_last_change
Get project parametersprojr_param_get projr_par_get
Return pathprojr_path_get
Get 'projr' build cache directoryprojr_path_get_cache_build projr_path_get_cache_build_dir
Return path to profile-specific directoryprojr_path_get_dir
Add projr profile fileprojr_profile_create
Create a local 'projr' profileprojr_profile_create_local
Delete a projr profile from _projr.ymlprojr_profile_delete
Delete local 'projr' settings file.projr_profile_delete_local
Get active projr profileprojr_profile_get
Restore or Update renv Lockfile Packagesprojr_renv_restore projr_renv_restore_and_update projr_renv_update
Test renv restoreprojr_renv_test
Restore project artefact directoriesprojr_content_update projr_restore projr_restore_repo projr_restore_repo_wd
Manually Unignore Files or Directories in '.gitignore' and '.Rbuildignore'projr_unignore_manual projr_unignore_manual_dir projr_unignore_manual_dir_git projr_unignore_manual_dir_rbuild projr_unignore_manual_file projr_unignore_manual_file_git projr_unignore_manual_file_rbuild
'projr' drop-in replacement for usethis::use_dataprojr_use_data
Returns project versionprojr_version_get
Set Project Versionprojr_version_set
Check active 'projr' settings.projr_yml_check
Set citation optionsprojr_yml_cite_set projr_yml_cite_set_default
Add a GitHub release as a destinationprojr_yml_dest_add_github
Add a local directory as a destinationprojr_yml_dest_add_local
Get license configuration for a directoryprojr_yml_dir_license_get
Remove license configuration for a directoryprojr_yml_dir_license_rm
Set license for a directoryprojr_yml_dir_license_set
Update LICENSE files with current DESCRIPTION authorsprojr_yml_dir_license_update
Set directory pathprojr_yml_dir_path_rm projr_yml_dir_path_set
Get active 'projr' settings and checks for validityprojr_yml_get
Set Git optionsprojr_yml_git_set projr_yml_git_set_default
Build hook-related functionsprojr_yml_hooks_add projr_yml_hooks_add_post projr_yml_hooks_add_pre projr_yml_hooks_rm_all
Add the 'parameters' keyprojr_yml_par_add
Set renv snapshot optionsprojr_yml_renv_set
Set build restrictionsprojr_yml_restrictions_set
Build script-related functionsprojr_yml_script_add projr_yml_script_add_post projr_yml_script_add_pre projr_yml_script_rm projr_yml_script_rm_all