tdd-strict
Test-Driven Development (Strict) skill for the ikigai project
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
Test-Driven Development (Strict)
Description
Strict TDD methodology for coverage phase. 90% coverage is non-negotiable.
Details
ABSOLUTE RULE: NEVER WRITE CODE BEFORE YOU HAVE A TEST THAT NEEDS IT
Follow strict Red/Green/Verify cycle:
1. Red: Write a failing test first
- Write the test code that calls the new function
- Add function declaration to header file
- Add stub implementation that compiles but does nothing (e.g.,
return OK(NULL);) - IMPORTANT: A compilation error is NOT a failing test - you need a stub that compiles and runs
- Verify the test actually fails with assertion failures (e.g., wrong output)
- NO CODE exists until a test demands it
2. Green: Write minimal code to make the test pass
- Implement ONLY what the test requires
- STOP immediately when the test passes
- DO NOT write "helper functions" before they're called
- DO NOT write code "because you'll need it later"
- DO NOT refactor for complexity until
make lintactually fails
3. Verify: Run quality checks
-
make check- All tests must pass -
make lint- Code complexity under threshold -
make check-coverage- 90% coverage is MANDATORY
Coverage Phase Requirements
Hunt every branch. During coverage phase:
- Test all error paths (use mocks to trigger failures)
- Test assertion violations (
tcase_add_test_raise_signalwith SIGABRT) - Test edge cases (empty, null, boundary conditions)
- Only use
LCOV_EXCLmarkers when genuinely untestable (OOM, impossible states)
WARNING: Writing code before tests wastes tokens, time, and money by:
- Generating premature code
- Debugging unnecessary coverage gaps
- Reverting unused code
- Violating the core methodology
The test MUST come first. No exceptions.
If writing a helper function, ask: "Does a passing test call this right now?" If no, DELETE IT.
If a branch is uncovered, ask: "Can I write a test for this?" If yes, WRITE IT.
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-01-26
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!