- Name: @exercode/problem-utils
- Description: 💯 A set of utilities for judging programs on Exercode (https://exercode.willbooster.com/).
- Package Manager: yarn
- Do not write tests unless explicitly requested.
- When fixing tests, gather debug information through logging and screenshots before modifying the code.
- After making code changes, run
yarn check-all-for-aito execute all tests (note: this may take up to 30 minutes), or runyarn check-for-aifor type checking and linting only.- If you are confident your changes will not break any tests, you may use
check-for-ai.
- If you are confident your changes will not break any tests, you may use
- Once you have verified your changes, commit them to the non-main branch using the
--no-verifyoption and push to the current branch.- Follow conventional commits, i.e., your commit message should start with
feat:,fix:, etc. - Make sure to add a new line at the end of your commit message with:
Co-authored-by: WillBooster (Codex CLI) <agent@willbooster.com>. - Always create new commits. Avoid using
--amend.
- Follow conventional commits, i.e., your commit message should start with
- Write comments that explain "why" rather than "what". Avoid explanations that can be understood from the code itself.
- Use stderr for logging debug messages temporarily since stdout output is sometimes omitted.
- When adding new functions or classes, define them below any functions or classes that call them to maintain clear call order.
- Prefer
undefinedovernullunless explicitly dealing with APIs or libraries that requirenull. - Always perform existence checks on array due to
noUncheckedIndexedAccess: true.