{"id":50509668,"url":"https://github.com/sciencelivehub/forrt-replication-template","last_synced_at":"2026-06-02T19:00:53.742Z","repository":{"id":356775439,"uuid":"1233650129","full_name":"ScienceLiveHub/forrt-replication-template","owner":"ScienceLiveHub","description":"Self-contained scaffold for FORRT replication studies — paper PDF in, Zenodo-archived release + Science Live nanopublication chain out. AI-guided via CLAUDE.md / AGENTS.md.","archived":false,"fork":false,"pushed_at":"2026-05-30T08:21:57.000Z","size":377,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T10:13:13.722Z","etag":null,"topics":["agents-md","claude-code","fair4rs","forrt","nanopublications","replication","ro-crate","science-live"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ScienceLiveHub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-09T07:29:23.000Z","updated_at":"2026-05-30T08:22:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ScienceLiveHub/forrt-replication-template","commit_stats":null,"previous_names":["sciencelivehub/forrt-replication-template"],"tags_count":2,"template":true,"template_full_name":null,"purl":"pkg:github/ScienceLiveHub/forrt-replication-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScienceLiveHub%2Fforrt-replication-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScienceLiveHub%2Fforrt-replication-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScienceLiveHub%2Fforrt-replication-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScienceLiveHub%2Fforrt-replication-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ScienceLiveHub","download_url":"https://codeload.github.com/ScienceLiveHub/forrt-replication-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScienceLiveHub%2Fforrt-replication-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33833277,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents-md","claude-code","fair4rs","forrt","nanopublications","replication","ro-crate","science-live"],"created_at":"2026-06-02T19:00:51.862Z","updated_at":"2026-06-02T19:00:53.736Z","avatar_url":"https://github.com/ScienceLiveHub.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# {{REPO_NAME}}\n\n[![CI](https://github.com/{{REPO_ORG}}/{{REPO_NAME}}/actions/workflows/ci.yml/badge.svg)](https://github.com/{{REPO_ORG}}/{{REPO_NAME}}/actions/workflows/ci.yml)\n[![Jupyter Book](https://github.com/{{REPO_ORG}}/{{REPO_NAME}}/actions/workflows/jupyter-book.yml/badge.svg)](https://{{REPO_ORG}}.github.io/{{REPO_NAME}}/)\n[![Docker](https://github.com/{{REPO_ORG}}/{{REPO_NAME}}/actions/workflows/docker.yml/badge.svg)](https://github.com/{{REPO_ORG}}/{{REPO_NAME}}/pkgs/container/{{REPO_NAME}})\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![DOI](https://zenodo.org/badge/DOI/{{ZENODO_DOI}}.svg)]({{ZENODO_DOI}})\n[![FAIR4RS](https://img.shields.io/badge/FAIR4RS-conformant-brightgreen)](docs/fair4rs-checklist.md)\n[![FORRT](https://img.shields.io/badge/FORRT-replication-blue)](https://forrt.org/)\n[![Science Live](https://img.shields.io/badge/Science%20Live-nanopub%20chain-purple)](nanopubs/PUBLISHED.md)\n[![RO-Crate](https://img.shields.io/badge/RO--Crate-1.2-orange)](ro-crate-metadata.json)\n\n\u003e **{{PAPER_TITLE}}** — replication study.\n\u003e Reference paper: [{{PAPER_DOI}}](https://doi.org/{{PAPER_DOI}})\n\nThis is a self-contained replication of the headline claim of the reference paper. It produces a reproducible computational pipeline, a Zenodo-archived release with a citable DOI, and a FORRT-tagged nanopublication chain on the [Science Live platform](https://platform.sciencelive4all.org).\n\n---\n\n## Quick start\n\n```bash\ngit clone https://github.com/{{REPO_ORG}}/{{REPO_NAME}}.git\ncd {{REPO_NAME}}\npixi install\npixi run snakemake --cores 1\n```\n\n(Pixi resolves `pixi.toml` against the per-platform `pixi.lock`, installs the env under `.pixi/`, and provides `pixi run` for any task without needing an `activate` step.)\n\nOr with Docker:\n\n```bash\ndocker run --rm ghcr.io/{{REPO_ORG}}/{{REPO_NAME}}:latest\n```\n\nThe Jupyter Book version is at \u003chttps://{{REPO_ORG}}.github.io/{{REPO_NAME}}/\u003e.\n\n## Built from a template\n\nThis repository was created from [`sciencelivehub/forrt-replication-template`](https://github.com/sciencelivehub/forrt-replication-template). The template ships an operating manual for AI assistants ([`CLAUDE.md`](CLAUDE.md), [`AGENTS.md`](AGENTS.md)), domain conventions ([`DOMAIN.md`](DOMAIN.md)), and reference docs (`docs/`) so that an AI working only inside this repository can guide a researcher from \"paper PDF + GitHub repo\" to \"published FORRT chain + Zenodo DOI\" with no other context.\n\nIf you are reading this in a fresh fork, run [`/init-template`](.claude/skills/init-template/SKILL.md) inside Claude Code to substitute the placeholder tokens with your details. (For other AI tools, see [`docs/ai-portability.md`](docs/ai-portability.md).)\n\nAfter `/init-template`, do these one-time setup steps to enable the full CI/CD path:\n\n- **Enable GitHub Pages** at *Settings → Pages → Source: GitHub Actions*. Until enabled, the Jupyter Book build runs but the deploy step is skipped (CI stays green).\n- The CI workflows ship with **scaffold-detection guards** — they run end-to-end only after you implement Phase 2 (the `notebooks/*.py` files). Until then they exit early with an informative `::notice::` and the badges stay green.\n\n## Repository structure\n\n```\n.\n├── CLAUDE.md / AGENTS.md       # operating manual for AI assistants\n├── DOMAIN.md                   # domain flavour (current: biodiversity + earth observation)\n├── USER_PREFERENCES.md         # per-user style (edit on first clone)\n├── README.md                   # this file\n├── LICENSE                     # MIT\n├── CITATION.cff                # how to cite\n├── codemeta.json               # software metadata (CodeMeta-2.0)\n├── ro-crate-metadata.json      # research object packaging (RO-Crate 1.2)\n├── pixi.toml + pixi.lock       # pinned dependencies (single source of truth; lockfile is per-platform)\n├── Dockerfile                  # container build\n├── Snakefile                   # pipeline orchestration\n├── myst.yml + index.md         # Jupyter Book scaffold\n├── paper/                      # the source paper PDF\n├── data/                       # downloaded artefacts (gitignored)\n├── notebooks/                  # jupytext .py pipeline (01–04)\n├── nanopubs/                   # FORRT chain drafts + published-URI registry\n├── docs/                       # reference material\n├── figures/                    # curated figures used in the Jupyter Book\n├── .github/workflows/          # CI, Jupyter Book, Docker\n└── .claude/                    # Claude Code agents, skills, sandbox config\n```\n\n## What you get\n\nThis template bakes in conventions that took multiple replications to discover. By using it, you inherit:\n\n- **FAIR4RS conformance** — see [`docs/fair4rs-checklist.md`](docs/fair4rs-checklist.md) for the principle-by-principle mapping.\n- **Self-contained data downloads** — the first notebook fetches everything; no manual data prep.\n- **`pixi.toml` + `pixi.lock` as single source of truth** — local dev, Docker, and CI all install the same per-platform-pinned env.\n- **`prefix-dev/setup-pixi`-based CI** — caches the env, runs the pipeline with `pixi run`, executes notebooks via a glob, fails fast on a stale lockfile.\n- **Jupyter Book deployment** — auto-deploys to GitHub Pages with `BASE_URL` set correctly. (Don't put `base_url` in `myst.yml` — MyST silently ignores it.)\n- **Docker + GHCR + Zenodo image archival** — `release` trigger pushes to GHCR and (optionally) archives to Zenodo for long-term preservation.\n- **RO-Crate packaging** — the entire repo is a navigable Research Object via `ro-crate-metadata.json` (Process Run Crate + Workflow RO-Crate profiles).\n- **Six-step FORRT chain workspace** — `nanopubs/drafts/` has a field-by-field skeleton for each step. `nanopubs/PUBLISHED.md` is the URI registry.\n- **Layered AI guidance** — `CLAUDE.md` (universal) + `DOMAIN.md` (swappable per field) + `USER_PREFERENCES.md` (per-user). See [`docs/ai-portability.md`](docs/ai-portability.md) for non-Claude AI tools.\n- **Sandbox by default** — `.claude/settings.json` denies file ops outside the repo, so a fresh AI session can't accidentally read `~/.ssh/` or write to `/etc/`.\n\n## The six FORRT chain steps\n\nA complete FORRT chain has six steps published on [platform.sciencelive4all.org](https://platform.sciencelive4all.org):\n\n```\nQuote-with-comment  →  AIDA  →  FORRT Claim  →  Replication Study  →  Replication Outcome  →  CiTO Citation\n```\n\n(For question-rooted chains with no upstream paper, replace step 1 with PICO or PCC. See [`docs/chain-decision-tree.md`](docs/chain-decision-tree.md).)\n\nDrafts live in [`nanopubs/drafts/`](nanopubs/drafts/) field-by-field. Published URIs go into [`nanopubs/PUBLISHED.md`](nanopubs/PUBLISHED.md).\n\nOptional further layers:\n\n- **Research Software nanopub** — for reusable upstream tools (not demo repos). See [`docs/forrt-form-fields.md`](docs/forrt-form-fields.md) § Research Software.\n- **Research Synthesis nanopub** — when this chain is part of a multi-chain story. See [`docs/forrt-form-fields.md`](docs/forrt-form-fields.md) § Research Synthesis.\n\n## After publishing\n\nWhen the chain is live and the FAIR4RS checklist is green, drafting an announcement post is the next step. See [`docs/announcement-template.md`](docs/announcement-template.md) for the structural template (vision-piece-first; the worked replication is the payoff, not the lead).\n\nFor lower-level nanopub work — retraction, superseding, batch publishing — see [`docs/programmatic-nanopubs.md`](docs/programmatic-nanopubs.md).\n\n## Citation\n\nIf you use this work, please cite both:\n\n- This software: [`CITATION.cff`](CITATION.cff) → DOI [{{ZENODO_DOI}}]({{ZENODO_DOI}})\n- The original paper: [{{PAPER_DOI}}](https://doi.org/{{PAPER_DOI}})\n\n## Acknowledgements\n\nThis repository was built from [`sciencelivehub/forrt-replication-template`](https://github.com/sciencelivehub/forrt-replication-template), part of the [Science Live platform](https://platform.sciencelive4all.org). The template is licensed MIT and contributions (especially new domain flavours under [`docs/domain-flavours/`](docs/domain-flavours/)) are welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsciencelivehub%2Fforrt-replication-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsciencelivehub%2Fforrt-replication-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsciencelivehub%2Fforrt-replication-template/lists"}