con un clic
con un clic
Default response behavior for AI coding agents: professional, factual, neutral tone with calibrated critical evaluation. Baseline for every task — implementation, code review, debugging, planning, research, evaluation, Q&A.
Design and review guidelines for this SDL3 Pong codebase: frame-loop constraints, testable layering, and design patterns. Use when designing new features, populating the ISSUES.md, implementing a task, reviewing a diff or branch, or when the user asks for an architecture or standards check.
Repository layout and naming conventions. Use to find or place files.
Standard end-to-end workflow for working on a task in this repository: branch naming, implement + tests + style, self-review, commit, `docs/ISSUES.md` cleanup, push the branch, and open a PR with `gh`. Use when starting work on an entry from `docs/ISSUES.md` (or, when one is filed, a GitHub issue).
Format and verify C/C++ source style with clang-format.
Build the project. Use to build, compile, test, or run the project.
| name | test |
| description | Run the unit-test suite. Use to run, filter, or disable tests. |
Tests are built by default alongside the main executable, registered with CTest via doctest_discover_tests(). Build the project first (see the build skill); the test scripts deliberately do not trigger a build.
scripts\test.ps1
./scripts/test.sh
Both default to Debug (-Config Release / --config Release to override). Raw fallback:
ctest --test-dir build --output-on-failure
Filter via CTest (regex over registered test names):
ctest --test-dir build -R smoke --output-on-failure
Or invoke the test executable directly with doctest filters:
build/pong-sdl3-cpp-tests -tc=smokebuild\tests\Debug\pong-sdl3-cpp-tests.exe -tc=smokePass -DBUILD_TESTING=OFF at configure time. CMake's standard option (set by include(CTest)); skips both the test target and the FetchContent download of doctest:
cmake -S . -B build -DBUILD_TESTING=OFF
In this configuration scripts/test.{ps1,sh} will exit non-zero with "No tests were found": the wrappers pass --no-tests=error to CTest so a build without a test target fails loudly instead of silently reporting "Tests passed" on zero discovered tests. To opt out (e.g. a sanity-check run on a BUILD_TESTING=OFF build), forward --no-tests=ignore:
scripts\test.ps1 -ExtraArgs '--no-tests=ignore'
./scripts/test.sh -- --no-tests=ignore
build/ does not exist.tests/<TypeName>Test.cpp (CamelCase, mirroring the type or area being tested) and let doctest_discover_tests() pick them up; do not edit CTest registration by hand.BUILD_TESTING=OFF, or the test target was never built into the current build/ (partial / stale state). Re-run scripts/build.{ps1,sh} rather than retrying ctest.