Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

trap-cards check: require every part of a trap card

Open Beginner friendly
#20 0 comments 0 reactions 0 assignees View on GitHub

@ian0318git is already working on this.

Since Oct 21, 2026.

  • #24 by @ian0318git — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
88/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
c, cmake
Domain
testing

Research direction

Read the section loop in cmake/check-trap-cards.cmake and the existing trap-cards test controls in CMakeLists.txt. Use plugins/sdl3-porter/skills/sdl3-porter/references/init.md to inspect the bool-returns card, then run cmake -S . -B build and ctest --test-dir build -C Debug -R trap-cards --output-on-failure. Done means missing required parts are reported by trap id, all 17 cards pass, and the new control passes only when its missing Source part is reported.

Written by the indexing model from the issue text.

Description

enhancement good first issue

AGENTS.md and CONTRIBUTING.md say that a trap card has What compiles, What breaks, How to find it, Fix and Source parts, and citing the source is one of AGENTS.md's hard rules. The trap-cards test only looks for **What compiles:**, so a card without **Source:** or **Fix:** still passes CI.

What to do

In cmake/check-trap-cards.cmake, for every section that has **What compiles:**, also require **What breaks:**, **How to find it:**, **Fix:** and **Source:**. Report each missing part by trap id, for example trap card bool-returns has no Source part. Then add a positive control in CMakeLists.txt: a copy of the references with **Source:** removed from one card, and a test that passes only on that message, like trap-cards-orphan-card. Guidance sections, the ones with **What changed:**, are out of scope.

Where to look

  • cmake/check-trap-cards.cmake lines 16-32: the loop over sections
  • CMakeLists.txt lines 204-236: the trap-cards test and its controls
  • plugins/sdl3-porter/skills/sdl3-porter/references/init.md: bool-returns, a complete card

Done when

  • The check names each missing part by trap id.
  • All 17 current cards pass.
  • The new control passes only on its message.

Testing it

cmake -S . -B build
ctest --test-dir build -C Debug -R trap-cards --output-on-failure
Dominant language
C
Stars
1
Forks
1
Avg merge
3m
Merged PRs (30d)
1

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from hazeliscoding/sdl3-porter

All issues in hazeliscoding/sdl3-porter

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.