Open source guide

Contribute

GDScripter is a shared playground for learning GDScript. If something confused you, you are the perfect person to make it clearer for the next player.

You do not need to be an expert. Typo fixes, one new card, or a better hint all count. First PRs are celebrated, not nitpicked into oblivion.

Why contribute?

Tutorials rot. Examples break on new Godot versions. Beginners bounce between four YouTube videos and a forum thread from 2021.

This project exists so accurate, bite-sized practice lives in one fun place โ€” and stays alive because people like you fix it when it drifts.

Cards

New Q&A for every topic tag

Games

Bugs, matches, fill-ins that teach

Guides

Clearer wording & onboarding

How to contribute

  1. 1

    Fork the repo

    Open the GDScripter GitHub repo and hit Fork. That gives you your own copy to edit safely without breaking main for everyone else.

  2. 2

    Clone & run locally

    Clone your fork, run npm install, then npm run dev. Open localhost:3000 and confirm the arcade loads before you change anything.

  3. 3

    Create a branch

    Branch off main with a clear name like fix/typo-signals or feat/physics-flashcards. One idea per branch keeps reviews easy.

  4. 4

    Make a small change

    Edit lib/flashcards.js, lib/game-data.js, or a page under app/. Prefer tiny, focused PRs โ€” a single card deck topic beats a mega-rewrite.

  5. 5

    Open a pull request

    Push your branch, open a PR, and describe what you changed + how to test it. Screenshots help for UI. Be kind โ€” we review together.

Where to edit

Most contributions are data, not deep framework work.

lib/flashcards.js

Add or fix Q&A cards. Include a clear front, back, and tag.

lib/game-data.js

New Bug Squash snippets, match pairs, or fill-in prompts.

app/contribute/page.js

Improve this guide โ€” clearer steps help the next contributor.

components/games/

UX polish on mini-games: feedback, hints, accessibility.

First PR ideas

Stuck on what to do? Pick one and ship it this week.

  • โœ“Add 5 beginner flashcards on signals or nodes
  • โœ“Write a Bug Squash snippet for a real Godot 4 pitfall you hit
  • โœ“Improve a confusing hint in Fill the Blank
  • โœ“Add match pairs for AnimationPlayer / Tween vocabulary
  • โœ“Fix a typo or outdated API mention on any page
  • โœ“Suggest a fourth mini-game idea in an issue
  • โœ“Improve mobile spacing or keyboard focus styles
  • โœ“Translate a card deck topic into simpler wording for absolute beginners

House rules

  • โ†’Keep Godot 4 / GDScript 2 examples accurate
  • โ†’Prefer short explanations over walls of text
  • โ†’No AI-dumped walls of wrong APIs โ€” verify in the editor if unsure
  • โ†’Be welcoming in PR comments โ€” this is a learning space

Ready to open your first PR?

Clone the project, run npm run dev, and start with one card or one bug scenario.

Point the GitHub button at your real repo URL when you publish.