replicateEverything does not replace long-term structured repositories such as ICPSR and Dataverse. It is an access point. We are not there yet, but an aim is for it to read those repositories directly.
For preparing a deposit, follow the AEA
Data Editor guidance and the Data and Code Availability
Standard (data–code separation and related rules). Beyond those, we
ask for two things: a replication.yml file, and
data/analysis packaged into consumable steps.
Field-level detail stays in the checklists linked below.
Heart of contributing a study under Contributing
replications. Gold shape: rep-template.
Detail lives in the linked checklists — use this page as the order of
work and the principles gate.
Walkthrough: four steps
1. First write the yaml (wiring)
Create replication.yml before filling the repo with
materials. Declare paper metadata, maintainer:,
collections:, languages:, and a unified
steps: DAG that points at originals (URLs, Dataverse file
ids, engine: dataverse) rather than shipping binaries.
Field-level contract and examples: Folder replication checklist or Package replication checklist. Stata engines: Stata replications.
2. Then make code/ and data/ (if any)
Add step scripts under code/ (thin runners; pure
make_* / format_*). Add data/
only when files must live in-repo. Prefer package fetch helpers over
study-local download scripts — see Wire, do not ship
below.
3. Then bake (creates outputs/)
From the study root:
library(replicateEverything)
list_replications("local")
describe_study_dag("local")
check_and_bake_study(".", build_artifacts = TRUE)That validates the yaml DAG and writes display products under
outputs/ (plus manifest.json). Do not invent a
parallel bake path in the study.
4. Then share
Push a public study repo so Shiny can fetch root
replication.yml. Contributor stops at a green bake; a
registry maintainer syncs the stub — no study-local
registry/ folder. See the folder/package checklists for
sync_study_to_registry() /
register_study().
Principles checklist
Tick as you go. Details that belong in the folder, package, Stata, or Dataverse articles are linked rather than repeated.
Wire, do not ship
Keep study repos light. Yaml points at originals; do not ship wholesale deposits or invent download helpers.
Call original data (Dataverse / ICPSR)
When the replication lives on Harvard Dataverse or ICPSR / OpenICPSR, fetch from there.
Connecting with Dataverse and ICPSR
| Source | Typical entry | Prefer |
|---|---|---|
| Harvard Dataverse | doi:10.7910/DVN/… |
File-id URL with ?format=original; package
engine: dataverse /
fetch_dataverse_file()
|
| OpenICPSR / ICPSR | project page (often JS-gated; no public per-file API) | Download once → original_studies/; commit
only yaml-declared inputs ≤50 MB; do not ship unused
deposit bulk. See OpenICPSR skill |
| No usable fetch API (private, offline) | — | Same commit fallback; document why; larger → registry data area |
Discover deposits with the R dataverse package
(get_dataset()) when on Dataverse — a full zip is not
required to start. Inspect originalFileName / native format
before converting .tab files.
Incomplete / unavailable steps
Some steps cannot be produced in every environment. Declare them in yaml; do not pretend they succeed in audit.
| Situation | Yaml | Effect |
|---|---|---|
| Missing Mathematica / MATLAB / similar |
incomplete: true + requires_engine: +
blocked_reason:
|
Shiny greys Display/Run; “not available” vs “not reproducible”; study partial-replication popup; audit skips |
| Proprietary / restricted data |
incomplete: true +
data_unavailable: proprietary +
blocked_reason:
|
Distinct icon + popup; DAG mark; audit skips (unavailable ≠ success/failure) |
Search the deposit for precomputed gold before marking unavailable.
Put a step in the DAG only if it is a replication claim
(Display / audit); proprietary prep or other blocked stages off that
path belong in README / study popup — not as orphan Unavailable nodes.
Detail: folder checklist and package skills
(folder_replication.md,
openicpsr_to_replicateEverything.md).
If data lives elsewhere (author site, OSF, journal supplement):
Lean materials and registry handoff
Yaml DAG rules (steps:, outputs:,
parents:, format children): see Folder replication
checklist — do not re-learn them here.
