Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Oct 27, 2025

Implements automated spell-checking on pull requests that comments with potential typos and supports easy whitelisting.

Implementation

Workflow (.github/workflows/spell-check.yaml)

  • Triggers on PR open/sync/reopen
  • Runs codespell via Python script
  • Posts/updates comment with findings

Configuration

  • .codespellrc - Skips themes, translations, PDFs, data files; ignores URLs/HTML comments
  • .codespell-ignore.txt - Whitelist for project terms, names, technical jargon (~60 entries)

Script (scripts/spell_check/check_spelling.py)

  • Scans content/, scripts/, .github/, root docs
  • Parses codespell output into grouped markdown tables
  • Outputs via GITHUB_OUTPUT for Actions integration

Usage

Add legitimate terms to .codespell-ignore.txt:

# Author names
Kathawalla
Gilad

# Technical terms
preregistration
metascience

Currently detects 145 potential issues across the repository (mostly legitimate typos in content files).

Original prompt

This section details on the original issue you should resolve

<issue_title>Add automated spell-check</issue_title>
<issue_description>Add a spell-check that comments a list of potential typos on an issue and allows for easy whitelisting (e.g using codespell)</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 3 commits October 27, 2025 13:27
Co-authored-by: LukasWallrich <60155545+LukasWallrich@users.noreply.github.com>
Co-authored-by: LukasWallrich <60155545+LukasWallrich@users.noreply.github.com>
Co-authored-by: LukasWallrich <60155545+LukasWallrich@users.noreply.github.com>
Copilot AI changed the title [WIP] Add automated spell-check to identify potential typos Add automated spell-check with codespell on PRs Oct 27, 2025
Copilot AI requested a review from LukasWallrich October 27, 2025 13:34
Copilot finished work on behalf of LukasWallrich October 27, 2025 13:34
@LukasWallrich LukasWallrich marked this pull request as ready for review October 27, 2025 13:48
@LukasWallrich LukasWallrich requested a review from a team as a code owner October 27, 2025 13:48
Removed 'openess' from the codespell ignore list.
@github-actions github-actions bot added the cicd Relevant to GitHub workflows label Oct 27, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Oct 27, 2025

📝 Spell Check Results

Found 146 potential spelling issue(s) in this PR:

📄 CONTRIBUTING.md

Line Issue
59 foward ==> forward

📄 content/OS-developing-world/OS-developing-world.md

Line Issue
73 inclusing ==> including

📄 content/about/partnerships/partnerships.md

Line Issue
212 AREN’s ==> aren’t
212 advocay ==> advocacy

📄 content/awop/index.md

Line Issue
5 Priviledge ==> Privilege

📄 content/coc.md

Line Issue
29 accessibilty ==> accessibility

📄 content/contributor-analysis/index.Rmd

Line Issue
77 unncessary ==> unnecessary

📄 content/contributor-analysis/network-graph.Rmd

Line Issue
87 unncessary ==> unnecessary
174 patter ==> pattern

📄 content/dei/2-intro-text.md

Line Issue
74 calender ==> calendar

📄 content/educators-corner/005-remote-teaching-platform/index.md

Line Issue
38 commend ==> comment, command

📄 content/educators-corner/010-Neurodiversity/index.md

Line Issue
59 ons ==> owns

📄 content/glossary/english/literature_review.md

Line Issue
50 ublication ==> publication
50 Yau ==> You, Yaw

📄 content/glossary/english/plan_s.md

Line Issue
4 commited ==> committed

📄 content/glossary/english/pro.md

Line Issue
4 publically ==> publicly

📄 content/glossary/english/research_protocol.md

Line Issue
4 publically ==> publicly

📄 content/glossary/english/type_i_error.md

Line Issue
4 occured ==> occurred

📄 content/glossary/english/zenodo.md

Line Issue
27 wont ==> won't
45 ublication ==> publication
45 Yau ==> You, Yaw

📄 content/glossary/references/index.md

Line Issue
19 Udo ==> Undo, Sudo, Judo, Ado, Udon, Ufo
238 Soler ==> Solver, Solar, Solely
371 Ans ==> And
411 Ned ==> Need, End, Nod
419 ABl ==> able
429 Homogenous ==> Homogeneous
573 Carmel ==> Caramel
575 ABl ==> able
575 Carmel ==> Caramel
581 ABl ==> able
599 ABl ==> able
599 ABl ==> able
603 ABl ==> able
603 ABl ==> able
607 ABl ==> able
607 ABl ==> able
609 ABl ==> able
609 ABl ==> able
611 ABl ==> able
611 ABl ==> able
634 Initative ==> Initiative, Imitative
713 ABl ==> able
717 ABl ==> able
717 Carmel ==> Caramel
757 ABl ==> able
767 ABl ==> able
791 Carmel ==> Caramel
796 Loder ==> Loader
994 Initative ==> Initiative, Imitative
1024 Yau ==> You, Yaw

📄 content/glossary/vbeta/plan-s.md

Line Issue
3 commited ==> committed

📄 content/glossary/vbeta/pro-peer-review-openness-initiative.md

Line Issue
3 publically ==> publicly

📄 content/glossary/vbeta/references/index.md

Line Issue
19 Udo ==> Undo, Sudo, Judo, Ado, Udon, Ufo
238 Soler ==> Solver, Solar, Solely
371 Ans ==> And
411 Ned ==> Need, End, Nod
419 ABl ==> able
429 Homogenous ==> Homogeneous
573 Carmel ==> Caramel
575 ABl ==> able
575 Carmel ==> Caramel
581 ABl ==> able
599 ABl ==> able
599 ABl ==> able
603 ABl ==> able
603 ABl ==> able
607 ABl ==> able
607 ABl ==> able
609 ABl ==> able
609 ABl ==> able
611 ABl ==> able
611 ABl ==> able
634 Initative ==> Initiative, Imitative
713 ABl ==> able
717 ABl ==> able
717 Carmel ==> Caramel
757 ABl ==> able
767 ABl ==> able
791 Carmel ==> Caramel
796 Loder ==> Loader
994 Initative ==> Initiative, Imitative
1024 Yau ==> You, Yaw

📄 content/glossary/vbeta/research-protocol.md

Line Issue
3 publically ==> publicly

📄 content/glossary/vbeta/type-i-error.md

Line Issue
3 occured ==> occurred

📄 content/lesson-plans/nd-lessons-plans.md

Line Issue
137 tru ==> through, true
143 Furthemore ==> Furthermore

📄 content/neurodiversity-lessonbank/_index.md

Line Issue
62 ND ==> AND, 2ND
64 ND ==> AND, 2ND

📄 content/neurodiversity-lessonbank/community-psychology-diversity/index.md

Line Issue
93 ND ==> AND, 2ND
93 ND ==> AND, 2ND
93 ND ==> AND, 2ND

📄 content/neurodiversity-lessonbank/implicit_bias/index.md

Line Issue
46 ND ==> AND, 2ND
53 ND ==> AND, 2ND
61 ND ==> AND, 2ND

📄 content/neurodiversity-lessonbank/masterstools/index.md

Line Issue
26 Opression ==> Oppression

📄 content/neurodiversity/neurodiversity.md

Line Issue
95 homogenous ==> homogeneous
95 homogenous ==> homogeneous
275 ND ==> AND, 2ND

📄 content/positive-changes-replication-crisis/positive-changes-replication-crisis.md

Line Issue
91 Didactical ==> Didactic
113 Vizualization ==> Visualization, Virtualization
137 Cummulative ==> Cumulative

📄 content/publications/publications.md

Line Issue
362 ist ==> is, it, its, it's, sit, list
362 sie ==> size, sigh, side

📄 content/replication-hub/fred_data_curators_role/index.md

Line Issue
68 Autor ==> Author

📄 content/reversals/reversals.md

Line Issue
177 ist ==> is, it, its, it's, sit, list
412 ist ==> is, it, its, it's, sit, list
420 Sherif ==> Sheriff
420 Sherif ==> Sheriff
420 Sherif ==> Sheriff
420 Sherif ==> Sheriff
511 ist ==> is, it, its, it's, sit, list
963 openess ==> openness
963 speach ==> speech
1530 percieved ==> perceived
1530 percieved ==> perceived
1530 percieved ==> perceived
1530 percieved ==> perceived
1530 percieved ==> perceived
1530 percieved ==> perceived
1862 fomr ==> from, form
2277 ist ==> is, it, its, it's, sit, list
2277 repid ==> rapid
2288 ist ==> is, it, its, it's, sit, list
2288 repid ==> rapid
2288 ist ==> is, it, its, it's, sit, list
2288 repid ==> rapid
2625 ist ==> is, it, its, it's, sit, list
2916 aer ==> are
2917 aer ==> are
2935 Shepperd ==> Shepherd
2937 Shepperd ==> Shepherd
2970 aer ==> are
2979 aer ==> are
3182 aer ==> are
3182 aer ==> are
3233 OT ==> TO, OF, OR, NOT, IT
3380 Loades ==> Loads, Loaded
3382 Loades ==> Loads, Loaded
3513 Buss ==> Bus
3691 Nam ==> Name
3785 ist ==> is, it, its, it's, sit, list
3785 repid ==> rapid
3956 Soler ==> Solver, Solar, Solely
3958 Soler ==> Solver, Solar, Solely

📄 content/summaries/summaries.py

Line Issue
64 encoutering ==> encountering

ℹ️ How to address these issues:

  1. Fix the typo: If it's a genuine typo, please correct it.
  2. Add to whitelist: If it's a valid word (e.g., a name, technical term), add it to .codespell-ignore.txt
  3. False positive: If this is a false positive, please report it in the PR comments.

🤖 This check was performed by codespell

@github-actions
Copy link
Contributor

👍 All image files/references (if any) are in webp format, in line with our policy.

@LukasWallrich
Copy link
Contributor

✅ This PR has been deployed to staging as part of an aggregated deployment. View at: https://staging.forrt.org

@LukasWallrich
Copy link
Contributor

Once #462 is merged, the latest version of some files will always be in the build-resources branch. That should be pulled into the check, merged in a way that prioritises these files? Otherwise old versions in main will generate false positives

@LukasWallrich
Copy link
Contributor

✅ This PR has been deployed to staging as part of an aggregated deployment. View at: https://staging.forrt.org

11 similar comments
@LukasWallrich
Copy link
Contributor

✅ This PR has been deployed to staging as part of an aggregated deployment. View at: https://staging.forrt.org

@LukasWallrich
Copy link
Contributor

✅ This PR has been deployed to staging as part of an aggregated deployment. View at: https://staging.forrt.org

@LukasWallrich
Copy link
Contributor

✅ This PR has been deployed to staging as part of an aggregated deployment. View at: https://staging.forrt.org

@LukasWallrich
Copy link
Contributor

✅ This PR has been deployed to staging as part of an aggregated deployment. View at: https://staging.forrt.org

@LukasWallrich
Copy link
Contributor

✅ This PR has been deployed to staging as part of an aggregated deployment. View at: https://staging.forrt.org

@LukasWallrich
Copy link
Contributor

✅ This PR has been deployed to staging as part of an aggregated deployment. View at: https://staging.forrt.org

@LukasWallrich
Copy link
Contributor

✅ This PR has been deployed to staging as part of an aggregated deployment. View at: https://staging.forrt.org

@LukasWallrich
Copy link
Contributor

✅ This PR has been deployed to staging as part of an aggregated deployment. View at: https://staging.forrt.org

@LukasWallrich
Copy link
Contributor

✅ This PR has been deployed to staging as part of an aggregated deployment. View at: https://staging.forrt.org

@LukasWallrich
Copy link
Contributor

✅ This PR has been deployed to staging as part of an aggregated deployment. View at: https://staging.forrt.org

@LukasWallrich
Copy link
Contributor

✅ This PR has been deployed to staging as part of an aggregated deployment. View at: https://staging.forrt.org

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-19 15:09:26 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-19 16:22:58 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-19 16:30:14 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-19 17:04:48 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-20 19:12:47 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-20 21:50:29 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-20 22:09:42 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 09:44:36 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 10:04:51 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 10:09:27 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 10:25:54 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 11:15:11 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 11:20:28 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 11:25:07 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 11:28:42 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 14:07:12 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 17:04:18 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 18:34:11 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 18:35:37 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 18:52:44 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 18:58:23 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 19:53:44 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 20:06:39 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 20:29:00 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-21 21:28:16 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-25 10:59:24 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-25 12:11:03 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-25 12:12:29 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-25 12:18:49 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

@LukasWallrich
Copy link
Contributor

Staging Deployment Status

This PR has been successfully deployed to staging as part of an aggregated deployment.

Deployed at: 2025-11-26 16:00:52 UTC
Staging URL: https://staging.forrt.org

The staging site shows the combined state of all compatible open PRs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cicd Relevant to GitHub workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add automated spell-check

3 participants