Stop wasting time setting up projects. Start analyzing.
kickstartR creates production-ready R project structures in seconds. Choose from 5 templates, add renv for dependencies, targets for pipelines, and automatic LICENSE files - all with a single function call.
| Without kickstartR | With kickstartR |
|---|---|
| Manually create 10+ folders | One command creates everything |
| Copy .gitignore from old projects | Best-practice .gitignore included |
| Forget to set up renv | include_renv = TRUE and done |
| Inconsistent project structures | Same structure, every time |
# Install from GitHub
devtools::install_github("sidhuk/kickstartR")library(kickstartR)
# That's it. You're ready to analyze.
initialize_project("my_analysis")# Guided setup - perfect for beginners
initialize_project_interactive()=== kickstartR Project Setup Wizard ===
Project name: sales_analysis
Template [1-5]: 2 (analysis)
Author: Jane Doe
License: MIT
Initialize renv? y
Initialize git? y
Project created successfully!
Choose the right structure for your work:
| Template | Best For | Command |
|---|---|---|
| basic | General data analysis | template = "basic" |
| analysis | Full research projects | template = "analysis" |
| shiny | Web applications | template = "shiny" |
| targets | Reproducible pipelines | template = "targets" |
| minimal | Quick scripts | template = "minimal" |
# See all templates with descriptions
available_templates(verbose = TRUE)basic - Standard Data Analysis
MyProject/
βββ 01_data/
β βββ 01_raw/
β βββ 02_processed/
β βββ 03_external/
βββ 02_scripts/
β βββ 00_main_script.R
βββ 03_output/
β βββ 01_figures/
β βββ 02_tables/
β βββ 03_reports_rendered/
βββ 04_models/
βββ 05_notebooks/
βββ README.md
βββ .gitignore
βββ MyProject.Rproj
shiny - Web Application
MyShinyApp/
βββ app.R
βββ R/
β βββ ui.R
β βββ server.R
βββ www/
β βββ css/
β βββ js/
βββ data/
βββ README.md
βββ MyShinyApp.Rproj
targets - Reproducible Pipeline
MyPipeline/
βββ _targets.R
βββ R/
β βββ functions.R
βββ 01_data/
β βββ 01_raw/
β βββ 02_processed/
βββ 03_output/
βββ README.md
βββ MyPipeline.Rproj
Lock your dependencies for reproducibility:
initialize_project("reproducible_analysis", include_renv = TRUE)
# Creates renv.lock and renv/ folder automatically
# Other users can restore with: renv::restore()Build make-like pipelines for complex analyses:
initialize_project("data_pipeline", template = "targets")
# Or add to any template:
initialize_project("my_project", include_targets = TRUE)initialize_project("open_source_project", license = "MIT", author = "Jane Doe")
# Available: MIT, GPL-3, GPL-2, CC-BY-4.0, CC0
available_licenses()initialize_project(
"quick_start",
git_init = TRUE, # Initialize git repository
open_project = TRUE, # Open in RStudio immediately
open_readme = TRUE # Start editing README right away
)initialize_project(
"custom_project",
custom_dirs = c("06_presentations", "07_literature", "08_admin"),
gitignore_extras = c("*.docx", "private/")
)library(kickstartR)
# Create a fully-featured research project
initialize_project(
project_name = "climate_analysis_2024",
path = "~/Projects",
template = "analysis",
author = "Dr. Jane Smith",
license = "CC-BY-4.0",
include_renv = TRUE,
include_targets = TRUE,
git_init = TRUE,
custom_dirs = c("06_presentations", "07_literature"),
open_project = TRUE
)Result:
Creating project: climate_analysis_2024
Created 2 custom directories
Added targets pipeline support
Created LICENSE file (CC-BY-4.0)
Initialized renv
Initialized git repository
Project 'climate_analysis_2024' created successfully!
Location: /Users/jane/Projects/climate_analysis_2024
Set defaults for your whole team with .kickstartR.yml:
# Create a config template
create_config(global = TRUE) # In home directory# ~/.kickstartR.yml
defaults:
template: analysis
include_renv: true
license: MIT
git_init: true
author:
name: "Data Science Team"
email: "[email protected]"
custom_dirs:
- "06_documentation"| Function | Description |
|---|---|
initialize_project() |
Create a new project with specified options |
initialize_project_interactive() |
Guided wizard for project creation |
available_templates() |
List available project templates |
available_licenses() |
List available license types |
create_config() |
Create a .kickstartR.yml config file |
graph LR
A[kickstartR] --> B[Project Created]
B --> C[Open .Rproj]
C --> D[Add Raw Data]
D --> E[Write Scripts]
E --> F[Run Analysis]
F --> G[Commit to Git]
- Create:
initialize_project("my_project", include_renv = TRUE) - Open: Double-click the
.Rprojfile - Add data: Place files in
01_data/01_raw/ - Analyze: Edit scripts in
02_scripts/ - Output: Save results to
03_output/ - Share: Push to GitHub with confidence
| Package | Integration |
|---|---|
| renv | include_renv = TRUE |
| targets | template = "targets" or include_targets = TRUE |
| here | .here file created automatically |
| usethis | Complementary project setup tools |
We welcome contributions! Please feel free to:
- Report bugs via GitHub Issues
- Suggest features or new templates
- Submit pull requests
MIT License - see LICENSE for details.
Made with passion for the R community
GitHub Β·
Documentation