First off, thanks for taking the time to contribute! ❤️
All types of contributions are encouraged and valued. Please read the relevant section before contributing — it makes things smoother for everyone. The community looks forward to your contributions. 🎉
You can support FORRT by:
- Starring the repository
- Sharing FORRT on social media
- Referencing FORRT in your project's readme
- Mentioning FORRT at local meetups and to colleagues
Issues are the best place to raise a question, suggest an improvement, or propose a resource for ilusion (unless you can find the more specific submission form).
- Have a quick look through the existing Issues in case the same idea is already being discussed.
- Otherwise, open a new Issue and go for it — a question, a rough idea, or a fully worked-out proposal are all welcome. Share whatever context is helpful.
FORRT is maintained by volunteers, so response times may vary. We appreciate your patience and your contribution.
Choose the setup method that suits your workflow.
Prerequisites
- Git
- Hugo
- A text editor of your choice — Visual Studio Code is recommended.
Steps
-
Fork and Clone the repository:
git clone https://github.com/forrtproject/forrtproject.github.io.git cd forrtproject.github.io -
Start the development server:
hugo server -D
The
-Dflag includes draft pages. Openhttp://localhost:1313in your browser to preview the site.
For R users who prefer to work entirely within RStudio.
Prerequisites
Steps
-
In RStudio, go to File → New Project → Version Control → Git.
- Repository URL:
https://github.com/forrtproject/forrtproject.github.io.git - Project directory name:
FORRT - Choose a location with Browse.
- Repository URL:
-
Run the site locally using the blogdown Addins in RStudio, or run
hugo server -Din the RStudio terminal. -
Use
usethisto manage your Pull Request workflow from within R — it is the most accessible approach for R users:usethis::pr_init("my-feature-branch") # create a branch usethis::pr_push() # push and open a PR on GitHub usethis::pr_finish() # clean up after the PR is merged
See the usethis documentation for the full workflow.
Note: RStudio is not designed for website development. For a smoother experience, consider the Standard Setup instead.
All proposed changes must be made on a feature branch and submitted via a Pull Request to main. We do not use a separate development branch.
-
Fork and clone — fork the repository to your account and clone it locally (if you haven't already).
-
Create a feature branch — use a short, descriptive name:
git checkout -b fix-typo-contributing # or git checkout -b add-new-resource-page -
Make and test your changes — run
hugo server -Dto preview the site locally and verify no errors appear. -
Commit with a clear message — describe what you changed and why:
git commit -m "Fix broken link in contributing guide" -
Push and open a Pull Request — push your branch and open a PR targeting the
mainbranch offorrtproject/forrtproject.github.io. Link any related issues and briefly summarise your changes.
For more on Git, see the official documentation.
Contributions co-authored with AI agents are welcome, but only if you have fully reviewed both the code and the content yourself and can stand behind them.
If a contribution amounts to running a single prompt, please consider posting the prompt or idea as an issue instead. It is often faster for us to run it ourselves, with full knowledge of the project's coding conventions, than to review and integrate unverified, vibe-coded output.
- Please fact-check anything you add and cite sources where relevant, so the site stays accurate and trustworthy.
- Make sure you have the right to share the content under the licence applicable to the relevant section of the site.
- Unless you tell us otherwise, contributions are assumed to be offered under CC BY 4.0.
The FORRT website uses a dual deployment strategy to ensure quality and enable collaborative review.
| Detail | Value |
|---|---|
| URL | https://forrt.org |
| Workflow | .github/workflows/deploy.yaml |
| Trigger | Push to main |
| Target | GitHub Pages (gh-pages branch) |
| Detail | Value |
|---|---|
| URL | https://staging.forrt.org |
| Workflow | .github/workflows/staging-aggregate.yaml |
| Trigger | PR opened/updated against main; 1st of each month; manual dispatch |
| Target | External repository (forrtproject/webpage-staging) |
| Purpose | Preview the combined state of all open, compatible PRs |
Staging shows aggregated changes from all open PRs — not individual PR previews. Visit https://staging.forrt.org to see the combined state. PRs with merge conflicts will not appear until those conflicts are resolved.
When a PR is opened, synchronised, or reopened, the staging workflow:
- Aggregates open PRs — collects all non-draft PRs targeting
mainand merges them in sequence onto a temporary branch. - Handles conflicts gracefully — PRs that merge cleanly are included; conflicting PRs are skipped and logged.
- Posts a deployment comment on each PR:
- ✅ Successfully included in staging
⚠️ Skipped due to merge conflicts
- Manages concurrency — builds are queued (not cancelled) with job timeouts of 10–20 minutes.
- Cleans up old branches — keeps only the 5 most recent staging branches.
On the 1st of each month, an automated GitHub issue is created with:
- Total PRs processed
- Successfully merged PRs
- Skipped PRs (with conflict details)
- Deployment statistics
Thank you for contributing to FORRT and helping build a more open, reproducible, and inclusive research culture.