replication.yml
— a text file that maps the parts of a replication archive: paper metadata, maintainer, engines, and each step's code, data, and outputs.
replicateEverything
reads that yaml to Display, Code, and Run.
View template example
from
rep-template
.
maintainer:
(name + email) — shown as
[maintainer]
on the Studies tab.
collections:
tags (e.g.
APSR
,
PED
,
World Bank
,
IPI
) so readers can filter the registry.
languages:
and per-step
engine:
(
r
,
stata
, and/or
python
). Paired ids (e.g.
tab_1
and
tab_1_stata
) let both engines appear in Shiny.
steps:
entry linking
code
,
data
/
inputs
, and
outputs
. Prefer a
type: format
child for display formatting.
make_*() / format_*()
; Stata/Python steps use the scripts named in yaml. Footers that call those helpers are optional.
code/
,
data/
, and
outputs/
; scripts on disk linked from yaml; R, Stata, and/or Python. Good default for delivered archives and multi-engine papers. Start from
rep-template
or create
code/ / data/ / outputs/
plus root
replication.yml
.
data/
, functions in
R/
); R only (Stata belongs in the folder-backed model). Convenient when many tables/figures share packaged datasets. Include
replication.yml
(and
inst/replication.yml
) with
paper.package
,
maintainer:
, and
collections:
. Layout sketch:
R/ / inst/ / data/
. Do not define or ship
run_replication()
,
list_replications()
,
load_artifact()
, or
get_code()
in the study package — those verbs live only in
replicateEverything
. Export only the
make_*() / format_*()
named in yaml (plus any true study helpers).
tests/testthat/
for smoke tests. When published or known benchmarks exist, write
substantive tests
: add
tests/substantive/<id>.R
with a
substantive_check_<id>()
and call it from
tests/testthat/
after a live run.
check_replication()
reports coverage of these checks. See vignettes
folder-replication-checklist
and
package-replication-checklist
for full checklists.
build_study_outputs()
so Display can load precomputed HTML/figures quickly. Folder studies write under
outputs/
; package studies write under
inst/report/artifacts/
(or
inst/report/outputs/
). One entrypoint covers both.
testthat
:
check_replication()
— structure, outputs, substantive-check coverage, and optional live runs.
testthat::test_dir("tests/testthat")
— smoke tests, plus
tests/substantive/
when benchmarks exist.
check_replication()
already exercises yaml and materials; also call
list_replications()
,
run_replication()
,
get_code()
, and
load_artifact()
with
doi = "local"
when your working directory is inside the study (folder) or after the package is installed.
check_replication()
, runs
sync_study_to_registry()
to write
studies/<folder>.yml
from your yaml, then
refresh_registry()
and deploys.
check_and_bake_study()
,
sync_study_to_registry()
,
build_registry_index()
. Then open a PR on
replicate-anything/registry
pushing the following new elements: an addition to
studies/<folder>.yml
and an updated
index.csv
.
Help us improve this prototype. Report bugs, ideas, or general feedback on GitHub — we read every issue.
Open an issue with a category label:
Package: replicateEverything issues · Registry / study contributions: registry issues
Plain text only (max 2,000 characters).
This is a project of IPI WZB led by Macartan Humphreys , Cord Masche, and Vernon Washington.
This demo app is bundled with the replicateEverything R package. Browse studies, display precomputed artifacts, and run live replications.
Run interactively with
replicateEverything::run_shiny_app()
or deploy with
save_local_shiny()
. See the
Shiny demo app
vignette for details.