Skip to content

dertristan/qqs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

100 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

qqs (QuickQuartoSetup)

A lightweight R package for fast, consistent research project setup with Quarto

qqs (short for quick quarto setup) makes starting a new research project painless. With a single call to qqs(), you can instantly create a clean, reproducible folder structure, complete with essential starter files designed for academic workflows.

Whether you're writing a manuscript, preparing a presentation, or organizing your analysis pipeline, qqs helps you work faster and stay organized. The structure follows best practices in academic research and is based on the author's experience managing multiple projects efficiently.

Note: This package originated as a personal side project and is now being actively developed as a course companion for QMIR -- Quantitative Methods in International Relations and European Politics at the University of Mannheim. The goal is a minimalist, dependency-light package optimized for the workflow taught in the course: R + Quarto + Git/GitHub in Positron. It is intentionally kept simple and opinionated to lower the barrier for students applying course workflows to their own term papers and theses.


✨ Features

  • One command, in-place scaffolding -- Call qqs() from inside your project folder and the package writes its files directly into the current working directory. Existing files (cloned dataset, README, etc.) are left untouched.
  • Built-in Quarto integration -- Generates .qmd files for the manuscript, presentation, and code template, plus a references.bib and a .gitignore.
  • Centralized project metadata -- A single _quarto.yml defines the shared author/date/bibliography/execute defaults for every document.
  • Student-ready options -- Include a bilingual (German/English) statutory declaration and a student ID footnote for term papers.
  • Native title page -- Optional title-page.tex included before the manuscript body. No Quarto extensions required. ⚠️ Experimental and not yet fully supported.
  • Quarto getting-started links -- Each generated document carries a link to the relevant Quarto documentation page, so students can quickly find help.

📦 Installation

Install the development version from GitHub:

# install.packages("remotes")  # if not already installed
remotes::install_github("dertristan/qqs")

🚀 Usage

The core function is qqs(). The intended workflow: clone or cd into the folder where your project lives (e.g. an exam repository containing a dataset and a README), then call qqs(). The function writes its scaffold into the current working directory and never touches files it didn't generate itself.

Basic example:

library(qqs)

# From inside the project folder
qqs()

This scaffolds:

  • _quarto.yml -- project-level metadata (author, date, bibliography, execute defaults) shared across documents
  • manuscript.qmd -- main manuscript
  • presentation.qmd -- minimal Reveal.js presentation
  • code/00_code_template.qmd -- copy-and-rename code template for each analysis
  • data/ -- with 01_raw, 02_processed, and 03_final subfolders
  • references.bib -- shared bibliography
  • .gitignore

When title_page = TRUE a native title-page.tex snippet is added and pulled in via include-before-body.

Project structure (defaults):

.
├── _quarto.yml
├── code
│   └── 00_code_template.qmd
├── data
│   ├── 01_raw
│   ├── 02_processed
│   └── 03_final
├── manuscript.qmd
├── presentation.qmd
├── references.bib
└── .gitignore

The setup keeps data, code, and outputs clearly separated -- making it easy to embed computed results directly into manuscripts or presentations using Quarto's embedding feature.


Custom example:

qqs(
  author = "Bilbo Baggins",
  title = "There and Back Again",
  subtitle = "A Hobbit's Holiday",
  student_id = 3791,
  stat_decl = TRUE
)

See ?qqs for the full list of arguments.


Helpful Quarto Docs


📄 License

MIT License © Tristan Muno


📚 Citation

If you use this package in your research:

Muno, Tristan (2026). qqs: A lightweight R package for streamlined research project setup with Quarto. https://github.com/dertristan/qqs

About

A lightweight R package for fast, consistent research project setup with Quarto

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages