Document the build prerequisites in CONTRIBUTING.md
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 83/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Domain
- documentation
Research direction
Read CONTRIBUTING.md lines 29–39, then verify the prerequisites against CMakeLists.txt and .github/workflows/ci.yml, including the Linux package install line and Claude Code setup in the plugin job. Add the requested short Setup list before Checks, keeping each item consistent with those sources. Done when a fresh-clone contributor can follow CONTRIBUTING.md to configure and build.
Written by the indexing model from the issue text.
Description
CONTRIBUTING.md says that configuring needs Python 3, but a first-time contributor needs more than that. On Linux, configuring fails without SDL's X11 development packages, and the two claude plugin validate checks need Claude Code.
What to do
Add a short "Setup" list before "Checks" that names:
- CMake 3.25 or later
- a C compiler: Visual Studio's C++ tools on Windows (its bundled CMake works), Xcode's command line tools on macOS, and GCC or Clang on Linux
- Python 3
- on Linux, the packages CI installs, as one
apt-getline - Claude Code, for the two
claude plugin validatechecks - network access the first time you configure, which downloads SDL 3.4.18 and 2.32.10
Keep it a list. The repo's docs are short.
Where to look
CONTRIBUTING.mdlines 29-39CMakeLists.txtline 1 (cmake_minimum_required).github/workflows/ci.ymllines 26-32 (Linux packages) and thepluginjob (how CI installs Claude Code)AGENTS.mdlines 24-26
Done when
- CONTRIBUTING.md has the list, and each item matches
CMakeLists.txtandci.yml. - Someone who follows only CONTRIBUTING.md on a fresh clone can configure and build.
Testing it
Ideally on a clean Ubuntu 24.04 machine or container:
cmake -S . -B build
cmake --build build --config Debug
ctest --test-dir build -C Debug --output-on-failure
- Dominant language
- C
- Stars
- 1
- Forks
- 1
- Avg merge
- 3m
- Merged PRs (30d)
- 1
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from hazeliscoding/sdl3-porter
-
trap-cards check: require every part of a trap cardPossibly taken A pull request linked to this issue is open or already merged. Openenhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
hazeliscoding/sdl3-porter#20 ·
-
Test find_traps.py's search of the committed SDL2 codePossibly taken @ian0318git claimed this 2 days ago. Opengood first issue
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
hazeliscoding/sdl3-porter#18 ·
-
bug good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
hazeliscoding/sdl3-porter#17 ·
-
trap-cards check: require a sample and an eval case for every trapPossibly taken A pull request linked to this issue is open or already merged. Openenhancement good first issue
Difficulty 3/5 1-2 days Newbie friendliness 82/100
hazeliscoding/sdl3-porter#21 ·
-
help wanted trap candidate
Difficulty 5/5 Over a week Newbie friendliness 25/100
hazeliscoding/sdl3-porter#16 ·
All issues in hazeliscoding/sdl3-porter
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
polhenarejos/pico-fido#302 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
espressif/esp-vision#16 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
libsdl-org/SDL#16577 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
halt_error adds a trailing newline for non-string input, contrary to the manualPossibly taken @Huang-404-Q claimed this today. Open
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 2 days